C++对象数组赋初值报错的问题
隐式提供的拷贝构造函数:test::test(test const\u0026amp; p)你自己写的拷贝构造函数:test::test(test\u0026amp; p)普通引用的绑定与左值右值的关系是这样的: | lvalue | rvalue---------+----------+---------- T\u0026amp; | x | -T const\u0026amp; | x | xtest t = { test(1), test(2), test(3) };数组用这种方式初始化时,每一个元素都由初始化列表中的对应元素拷贝构造而来。而初始化列表中临时构造的 test(1) 等人属于右值。所以按照上面的规则,无法被非 const 的普通引用 test\u0026amp; 绑定,却可以被 test const\u0026amp; 绑定。
■网友
你都知道是复制构造函数了,你却不知道什么时候会用?“复制构造函数”应该叫拷贝构造函数,在return和非引用类传值的函数时都会被调用来生成拷贝后的副本。拷贝构造函数应该这样写test(const test \u0026amp;p):num(p.num){cout\u0026lt;\u0026lt;"Copy Constructor Called"\u0026lt;\u0026lt;endl;}注意const
推荐阅读
- 非计算机专业想要利用课余时间深入自学C++,想要找到比较体面的工作大概需要啥水平
- C语言 指针引用数组的地址问题
- Java工程师和C++工程师在工作上有啥区别哪个更适合自身发展
- 结婚对象的抉择
- 咨读君|交警提醒:即日起,这些汽车禁止上路,已经成为严查对象
- C、C++、java等编程语言都有哪些坑
- c++写http服务器不用cgi和apache该用啥
- 扬州|扬州三鸟友养鹦鹉被追刑责 警方:爱动物要找对对象
- 金晨|金晨新约会对象遭扒,武汉人讲话台湾腔还疑穿高仿,这个也难成?
- 看完c++ primer plus 还有必要再买本c++ primer看吗?
