我正在研究一段代码,当我注意到语法上,不可能区分指向char类型的常量指针和指向常量char类型的指针,至少不是我的知识。无论哪种方式,我试着把它,我最后得到这个:const char * foo;
。
如果有办法区分两者,请在答案或下面的评论中告诉我。
谢谢。
答案 0 :(得分:2)
const char * foo;
上面foo
的是指向常量char的指针。这意味着您无法更改指针所指向的对象内容。
char * const foo;
以上foo
是指向char的常量指针。这意味着您可以更改指针指向的对象内容,但不能将其他对象分配给指针。
This应该对您有用。
答案 1 :(得分:2)
如果您将放在之后适用的类型,则更容易记住const
资格适用的位置
char const* a; // mutable pointer to unmutable char
char*const b; // unmutable pointer to mutable char
char const*const c; // both unmutable
char* c; // both mutable