2015-05-09 116 views
7

在108頁在C++中的引物第五版通過李普曼等人,它說:常量性和const指針

const_iterator表現得像const指針(§2.4.2,第 62)。像const指針一樣,const_iterator可以讀取但不寫入它表示的元素; [...]

我明白const_iterator的功能,但是這個比較是否正確?我認爲它的行爲更像是「指向const」。

我誤解了一些東西嗎?

+0

我相信作者指的是一個指向const的指針。說const指針並且大多數情況下更容易,const指針是解決「const指針」中含糊問題的簡單選擇。你可能會爭辯說,不明確的地方首先出現在那裏是不幸的。 – chris

回答

1

當作者說「常量指針」我認爲他的確的意思是「指向常量」。

他可能做它的原因是雙重的:

  1. 我們幾乎從來不使用一個常量指針(至少沒有直接 - 模板不計)。

  2. 指向const的指針被寫爲const T*,您發音爲「const指針」。

3

你是對的。作者明確提到他們的書的第2.4.2節(我剛剛更新了你的問題以反映這一點),他們在那裏定義他們打算如何使用術語「const指針」與「指向const的指針」。鑑於這個確切的定義,他們應該在你引用的部分中說「指向const」。

(然而,在其他情況下其他作者使用的術語不太精確,而這種環境之外,我也不會覺得異常,如果有人提到「指針爲const」爲「常量指針」。)