赋值操作符的异常实现方式(3)

注意setValue函数改变了t2对象的value值,而line26赋值后,t2仍然可以调用setValue函数,这说明“返回const并不意味着类T本身为const,而只意味着你不能使用返回的引用来直接修改它指向的结构”。看看下面这段代码:

int main()
{
    T t1;
    T t2;
    (t2=t1).setValue(21);

return 0;
}

这里直接对t2=t1的返回结果调用setValue,因为返回的是const&类型,所以不能调用此setValue函数。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/b45d3e8d9fc635426986de79aaef12fe.html