c++ - 类成员不是引用而是构造函数,参数通过引用传递

标签 c++ constructor pass-by-reference copy-constructor pass-by-value

当你在 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/

相关文章:

c++ - 未读取空格

c++ - 捕获位图快吃RAM

java - if、else if 和 else 语句? java

java - 为什么 Java 在构造函数重载的情况下无法识别我的 ArrayList

java - Eclipse - 为什么生成 Getters 和 Setters 不考虑 "By Reference"

c++ - 是在没有显式强制转换的情况下使用常量调用未定义的行为吗?

c++ - 方法问题: Deleting duplicate chars in an array

c++ - 非内联构造函数中的默认参数

powershell - 如何在 Start-Job 中通过引用传递变量?

Java 对对象的引用