相关疑难解决方法(0)

112
推荐指数
6
解决办法
6万
查看次数

如果类的成员是引用,为什么复制对象是非法的?

我遇到了一个测验,说下面第18行中的代码格式不正确,因为"当需要复制的其中一个成员是一个引用时,使用隐式定义的赋值运算符是不正确的."

我无法理解.为什么参考无法复制?为什么16号线合法?第16行与第18行非常相似,复制构造函数仍然需要复制,对吧?

1 #include <iostream>
2
3 struct A
4 {
5   A(int& var) : r(var) {}
6
7   int &r;
8 };
9
10 int main(int argc, char** argv)
11 {
12   int x = 23;
13
14   A a1(x);
15
16   A a2 = a1;
17
18   a2 = a1;
19
20   return 0;
21 }
Run Code Online (Sandbox Code Playgroud)

c++ copy copy-constructor

5
推荐指数
2
解决办法
391
查看次数

标签 统计

c++ ×2

copy ×2

copy-constructor ×2

constructor ×1