Dmi*_*hin 0 c++ pointers reference c++11
我正在考虑此解决方案,但不确定是否正确。
Type* myObjP;
void setSmth(Type& toBePassed) {
myObjP = *toBePassed;
};
Run Code Online (Sandbox Code Playgroud)
从句法上讲,您将需要使用:
void setSmth(Type& toBePassed) {
myObjP = &toBePassed; // Addressof operator rather than dereference operator.
}
Run Code Online (Sandbox Code Playgroud)
使用这种机制时,取消引用时必须非常小心myObjP。如果传递给的对象setSmth不是活动的,则取消引用myObjP将导致未定义的行为。
语言中有更强大的机制,但是如果没有其他上下文,很难提出任何建议。