【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不变。

原文地址:https://www.cnblogs.com/Faiz-room/p/7497044.html