class A{
A(B& ref) : b(ref){}
B getB(){return this->b;}
B b;
};
getB() 是否返回对 A.b 的引用或构造函数提供的相同引用?如果原始 B 已在 A 之外更改但 A.getB() 仍返回旧 B,那将是一个问题。 如果是这种情况,有没有办法避免这种情况?
最佳答案
不是,A
对应实例的b
成员中只保存了一份ref
,一份this是getB
返回了什么。
要返回 B
的实例,A
的实例是用它初始化的(不是你想做的,但是 ffr),你会这样做:
class A{
A(B& ref) : b(ref){}
B& getB(){return this->b;}
B& b;
};
关于c++ - 这个 getter 返回的是构造函数给出的引用还是类内部对象的引用? C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13075681/