发布网友 发布时间:2024-10-23 21:54
共3个回答
热心网友 时间:2024-10-30 19:32
const int &f()const 首先表明函数不能修改调用的成员变量,然后int &表明函数返回一个int类型的引用,但是前面的const表明不能通过这个返回的引用来改变它的值。而int &f()仅表示函数返回一个int型引用。调用哪个函数就要看你创建的对象了,如果你创建的对象是const的,那么只能调用第一个,因为不能修改对象成员变量。
这个函数f()必然是有参数的,不然不可能返回一个引用,如果参数是const类型的那么就是第一个,如果不是就第二个。
热心网友 时间:2024-10-30 19:37
你既然知道两个const的意义,怎么还会觉得重复呢,完全不是一回事啊。
函数的返回值是const int& ,表明类的实现者禁止类似这样的赋值发生:
f() = 3;而如果函数的返回值是 int& 则f() = 3;允许.
函数体用const修饰,表示此函数不能修改类中的数据成员。
比如类中有个数据成员x,则这样的函数定义const int& f() const { x = 3; }不被允许。
热心网友 时间:2024-10-30 19:37
引用值一旦初始化后就不能再更改!即没有const double const&a = 1;只有const double&a = 1;