我有这样的方法:
MyClass& Smth::getMyClass() {
return myClassObj;
}
现在,这两个示例的工作方式相同(vs2012):
MyClass& a = smthObj.getMyClass();
a.whatever();
MyClass a = smthObj.getMyClass();
a.whatever();
如何解释呢?
最佳答案
如何解释呢?
MyClass& a = smthObj.getMyClass();
a.whatever();
a
是对smthObj
数据成员的引用。第二行在数据成员上调用whatever()
。MyClass a = smthObj.getMyClass();
a.whatever();
a
是smthObj
数据成员的副本。第二行在该副本上调用whatever()
。关于c++ - 用引用对象初始化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17235736/