1、注意
数组和指针常量还是不能一概而论的。
2、const char, char const, char*const的区别问题:
几乎是C++面试中每次都会有的题目。
事实上这个概念谁都有,只是三种声明方式非常相似很容易记混。
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只能属于前面的类型。
由于C++标准规定,const关键字放在类型或变量名之前等价的。
我觉得是“常量指针”和“指针常量”这样的翻译比较难记忆而已。
本质上是,1)“被指向的对象是常量”;2)“指针本身是常量”。
中间是关联词是--是,不是的。
我是这么理解的,*前面的是对被指向对象的修饰,*后面的是对指针本身的修饰。
网友评论