2 回答
TA贡献1827条经验 获得超4个赞
首先来解释 下这里面有 的两个 CONST ,第一个 与 STD::STRING 在一起, 就像 CONST INT 一样,,只不过这里 INT 换成了 STD::STRING 而以,,第二个CONST 表示在 这个GETID 函数 不会对调用者数据造成修改 。MSDN 中的解释 如下:
const
const declaration
member-function const
When modifying a data declaration, the const keyword specifies that the object or variable is not modifiable. When following a member function's parameter list, the const keyword specifies that the function doesn't modify the object for which it is invoked.
然后再来说下 引用:在C++ PRIMER 4 里面有 跟下面 差不多的话,
CONST引用与非CONST引用
我们可以定义变量如:
INT I=10; 同理可以定义其引用如:
INT & REFI=I; (1) 这样,我们就可以操纵这个引用了,可以通过REFI 来修改I 的值。
通过上面的例子,我们要明白,非CONST引用可以修改它绑定的值。
同理:
我们可以定义CONST对象如:
CONST INT I=10;
同理我们可以定义引用来绑定到这个CONST对象 如:
INT & REFI =I;(2)
比较(1)(2)两个表达式,是一样的,也就是说在表达式(2) 定义完之后,我们同样可以通过REFI 改变 I的值。这与我们的I 被定义成 CONST 是相违背的。所以我们规定:
将非CONST引用绑定到CONST对象是不合法的。
CONST引用可以初始化为不同类型的对象或者右值,如字面值常量。
非CONST引用只能绑定到与该引用同类型的对象。
CONST引用则可以绑定到不同但相关的类型的对象或绑定到右值。
以上部分摘自C++ PRIMER 4
解释了引用 CONST引用 与 非CONST引用
所以 说 还是要 仔细的看书,,,
你这里面的 & 表示 的是 引用 。而且 是 CONST 引用。
- 2 回答
- 0 关注
- 672 浏览
添加回答
举报