const char*, char const*, char*const的区别问题几乎是C++面试中每次都会有的题目。
事实上这个概念谁都有只是三种声明方式非常相似很容易记混。
Bjarne在他的The C++ Programming Language里面给出过一个助记的方法:
把一个声明从右向左读。
char * const cp; ( * 读成 pointer to )
cp is a const pointer to char;
一个指向char的常量指针
const char * p;
p is a pointer to const char;
一个指向常量char的指针
char const * p;
p is a pointer to char const;
一个指向char常量的指针
还有一个小窍门: const修饰紧挨着的前面的内容,比如:
int const *p 它前面是int,所以p指向的内容保持不变
int *const p 它前面是*,所以指针本身不能变
阅读(834) | 评论(0) | 转发(0) |