当你在 C++ 中有这样的东西时会发生什么:
class foo {
public:
foo(obj &b);
obj a;
};
foo::foo(b) : a(b) {}
是否将 b
中的值复制到 a
中?或者既然b
是引用,那么b
的引用就赋值给了a
?
最佳答案
这和下面的代码是一样的:
void foo(obj& b) {
obj a(b);
}
它将 b
对象复制(复制构造)到 a
。
关于c++ - 类成员不是引用而是构造函数,参数通过引用传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33366341/