const char*, char const* and char *const

来源:互联网 发布:java 并发 面试 编辑:程序博客网 时间:2024/04/30 09:12
Bjarne在他的The C++ Programming Language里面给出过一个助记的方法: 
把一个声明从右向左读。 

char  * const cp; ( * 读成 pointer to ) 
cp is a const pointer to char 

const char * p; 
p is a pointer to const char; 

char const * p; 
同上因为C++里面没有const*的运算符,所以const只能属于前面的类型。

const   在*之"前"表示内容不变   
const   在*之"后"表示指针不变

后记:今天看到了一种写法char const * p,感觉怪怪的,因为以前只是见过const char *p和char * const p,查了资料才知道 const char * 和char const *竟然是等价的。