c++ - 赋值运算符链接中的 const 关键字
问题描述
这里 const 关键字的意义是什么?这不会阻止链接 = 运算符的能力吗?因此,例如,a=b=c,a=b 先被求值,然后((a=b)=c 的结果),但是根据下面的定义,它的结果是不可变的,并且从下面的定义中会修改返回值(a=b=c)
或者我只是不明白
const SimpleCircle & SimpleCircle::operator=(const SimpleCircle & rhs)
{
if(this == &rhs)
return *this;
itsRadius = rhs.getRadius();
return *this;
}
解决方案
如果您使用a=b=c
带有此运算符的链,则第一个赋值 ( b=c
) 的结果将是第二个 ( a=b
) 的参数,它也需要 a const&
。
所以这里的链条没有问题。
推荐阅读
- git - 意外删除分支后如何挽救工作树
- python - 使用pandas在csv中用空字符串(“,”)替换空格(“,”)
- r - R-自动化网页文本抓取
- google-app-engine - 我应该如何配置应用程序引擎任务队列以在速率限制内最大化处理速度
- java - 抽屉布局和 OnItemClickListener 冲突 - Android
- python - 导入 Python 模块适用于解释器,但不适用于脚本
- ios - 为什么 self.frame.maxY 没有显示在 iPad 的屏幕上
- c# - 模拟 Response.Header(扩展方法上的无效设置:x => x.Append)
- functional-programming - 我如何在 sanctuary js 中折叠 Maybe monads
- javascript - JavaScript 无法始终如一地执行 (V8)