【C++】判断const词缀不同位置的效果
eg:问(1)const char *p
(2)char * const p的区别?
方法:把const看成形容词词缀,即跟在最近的名词旁边。
如果有*要注意,*意思为指向XX类型的指针,组合变量名时为一个名词。
解释上方词缀分别为(1)一个指向常量char类型的指针(指针指向的值不能改变,指针可以指向其他值)
(2)一个指向char类型、常量的指针(指针指向的值可以改变,指针不可以指向其他值)
注意char * const p和char const * p的区别,
词性分析:char名词、 * 名词、const形容词、p名词
char * const p相当于char(* const p),const属于* p的词缀,即用*p之间加了一个边界线,则p不变,*p可以变。
而char const *p相对于(char const) (*p),const属于char,则p变,*p不变。