2 回答

TA貢獻1827條經(jīng)驗 獲得超4個贊
首先來解釋 下這里面有 的兩個 CONST ,第一個 與 STD::STRING 在一起, 就像 CONST INT 一樣,,只不過這里 INT 換成了 STD::STRING 而以,,第二個CONST 表示在 這個GETID 函數(shù) 不會對調(diào)用者數(shù)據(jù)造成修改 。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 是相違背的。所以我們規(guī)定:
將非CONST引用綁定到CONST對象是不合法的。
CONST引用可以初始化為不同類型的對象或者右值,如字面值常量。
非CONST引用只能綁定到與該引用同類型的對象。
CONST引用則可以綁定到不同但相關(guān)的類型的對象或綁定到右值。
以上部分摘自C++ PRIMER 4
解釋了引用 CONST引用 與 非CONST引用
所以 說 還是要 仔細的看書,,,
你這里面的 & 表示 的是 引用 。而且 是 CONST 引用。
- 2 回答
- 0 關(guān)注
- 706 瀏覽
添加回答
舉報