美文网首页
const char*, char const*, char*c

const char*, char const*, char*c

作者: yikemi | 来源:发表于2017-06-29 16:43 被阅读42次

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)“指针本身是常量”。
中间是关联词是--是,不是的。
我是这么理解的,*前面的是对被指向对象的修饰,*后面的是对指针本身的修饰。

相关文章

网友评论

      本文标题:const char*, char const*, char*c

      本文链接:https://www.haomeiwen.com/subject/ptbmcxtx.html