首页 > 解决方案 > 赋值运算符链接中的 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;
}

标签: c++

解决方案


如果您使用a=b=c带有此运算符的链,则第一个赋值 ( b=c) 的结果将是第二个 ( a=b) 的参数,它也需要 a const&

所以这里的链条没有问题。


推荐阅读