求教大牛:T const&与T &是什么意思? C语言中的const string &T是什么意思

作者&投稿:明晴 (若有异议请与网页底部的电邮联系)
T const&与T &的区别是一个加了常量限定符,一个没加,也相应的一个是常引用,不能修改其值,一个为引用,可以修改值。
如果返回值是常引用,说明不能把返回值作为左值,也就是
a.top() = 10;//如果a 为常对象,这句是非法的

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

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

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

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

T fref(const T&, const T&);中的const T&,是什么意思?~

后面应该是有一个形参的,就像const T&x,const T&y这样。加了const只不过是说后面引用的这个参数在函数内部不能改变,是一个常值。

const表示参数传进来后不能被修改
&表示引用的形式传递参数
意思就是以引用的形式传递常量字符串string T
在函数内常量字符串不能被修改