求教大牛:T const&与T &是什么意思?

发布网友 发布时间:2024-10-23 21:54

我来回答

1个回答

热心网友 时间:2024-10-27 13:40

T const&与T &的区别是一个加了常量限定符,一个没加,也相应的一个是常引用,不能修改其值,一个为引用,可以修改值。
如果返回值是常引用,说明不能把返回值作为左值,也就是
a.top() = 10;//如果a 为常对象,这句是非法的

如果返回值是引用,就可以作为左值:
a.top() = 10; //如果a 不是常对象,这句把a的data_[top_-1]修改为10了;

常对象就是定义类对象时加上const限定符。
const CA a;

常对象只能调用常成员函数,也就是在函数未尾加了const限定符的成员函数,而在常成员函数里不能修改类的数据成员。

不知这样解释能不能理解。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com