2 richthoffen richthoffen 于 2016.04.14 15:51 提问

c++ virtual const T& Entry(int index) const;
c++

为什么有两个const,分别代表什么
c++ virtual const T& Entry(int index) const;

3个回答

CSDNXIAOD
CSDNXIAOD   2016.04.19 21:00

C++ const int * ; int * const
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

chenqixia
chenqixia   2016.04.14 16:02

第一个const说的是返回值,返回的是一个常量引用,不能修改;
后一个const是表示this指针指向的是const,
表明该函数不会改成员函数的值!该函数可以被常量对象访问(const)。

qq_31597573
qq_31597573   2016.04.14 16:03

第一个const代表返回类型是const类型。为什么要定义为const的?举个例子:一般都是c=a+b;也是说a+b一般作为右值。但是如果a+b的返回类型不为const,那么可能出现a+b=c的情况。这种情况是不符合常理的。
所以有必要声明为const类型。第二个const表示Entry函数体内部,不可以修改成员变量的值。否则会报错。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!