LaL*_*LeX 1 c++ operator-overloading
有类似下面的代码(简化):
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;
Run Code Online (Sandbox Code Playgroud)
我不想创建一个副本,obj.data但返回相同的指针,所以如果我做出pstruct->member1改变是相同的obj.data->element1(和相反的).
这可能吗?
谢谢
听起来你想要一个转换运算符来创建一个MyStruct*来自MyClass:
class MyClass {
MyStruct *data;
public:
operator MyStruct*() {
return data;
}
};
Run Code Online (Sandbox Code Playgroud)