看了"C++中const用法總結 ", 談點新思路. 關于理解下面語句中的const:
A. const char *pContent;
B. char * const pContent;
C. char const *pContent;
D. const char* const pContent;
標準的助記方法是:
沿著*號劃一條線,
如果const位于*的左側,則const就是用來修飾指針所指向的變量,即指針指向為常量;
如果const位于*的右側,const就是修飾指針本身,即指針本身是常量。
當然,這也是c++之父的著作<<C++程序設計語言>>里的方法.
我的想法是: const用來修飾的是其右側第一個變量或類型的常量屬性.
對于A, const修飾的是char, char是類型, 所對應的變量是 *pContent; 所以A中const表示指向的內容不變
對于B, const修飾的是pContent, 即表示char*型的指針pContent不變.
對于C, const修飾的是*pContent,即同A.
對于D, 第一個const修飾的是char, 同A, 第二個const修飾的是pContent,同B.
posted on 2008-12-30 19:50
vcfly 閱讀(355)
評論(0) 編輯 收藏 引用 所屬分類:
c/c++