有类似下面的代码(简化):
struct MyStruct {
int member1;
int member2;
};
class MyClass {
MyStruct *data;
}
MyClass obj;
// put obj.data in pstruct
// so obj.data->element1 is the same as pstruct->element1
MyStruct *pstruct = obj;
我不想创建 obj.data
的拷贝,而是返回相同的指针,因此如果我在 pstruct->member1
中进行更改,更改就是在 obj.data->element1
中相同(反之亦然)。
这可能吗?
谢谢
最佳答案
听起来您想要一个从 MyClass
创建 MyStruct*
的转换运算符:
class MyClass {
MyStruct *data;
public:
operator MyStruct*() {
return data;
}
};
关于c++ - 如何重载 operator= 以返回指向成员的指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9379160/