c++ - 为什么复制构造函数参数是 const?

标签 c++ constructor

 Vector(const Vector& other) // Copy constructor 
 {
    x = other.x;
    y = other.y;

为什么参数是 const?

最佳答案

你得到的答案提到确保 ctor 不能改变被复制的内容——他们是对的,把 const 放在那里确实有这种效果。

然而,更重要的是临时对象不能绑定(bind)到非常量引用。复制 ctor 必须引用 const 对象才能复制临时对象。

关于c++ - 为什么复制构造函数参数是 const?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1602058/

相关文章:

c++ - Boost.MultiArray 任意开始和结束索引

c++ - 事件驱动模拟类

c++ - 有条件地禁用复制构造函数

c++ - 将值从 Xcode 中的运行脚本传递到编译

c++ - avr32-gcc:未使用函数输出初始化的全局变量

c++ - 消除运算符[]绑定(bind)的歧义

c++ - 在 if 语句中调用重载的构造函数失败

java - 制作一个单独的构造函数和 init 方法更好,还是创建一个带参数的构造函数更好?

c# - 为什么在实体中有私有(private)二传手

java - Java 中类似 JSON 的对象语法