我们如何在指针中存储对对象的引用?

Dmi*_*hin 0 c++ pointers reference c++11

我正在考虑此解决方案,但不确定是否正确。

Type* myObjP;

void setSmth(Type& toBePassed) {
  myObjP = *toBePassed;
};
Run Code Online (Sandbox Code Playgroud)

R S*_*ahu 9

从句法上讲,您将需要使用:

void setSmth(Type& toBePassed) {
  myObjP = &toBePassed; // Addressof operator rather than dereference operator.
}
Run Code Online (Sandbox Code Playgroud)

注意的话

使用这种机制时,取消引用时必须非常小心myObjP。如果传递给的对象setSmth不是活动的,则取消引用myObjP将导致未定义的行为。

语言中有更强大的机制,但是如果没有其他上下文,很难提出任何建议。