您的位置:首页 > 其它

const char*, char const* and char *const

2014-10-23 12:11 453 查看
原文地址:http://yuanmuqiuyu2000.blog.sohu.com/115426214.html

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只能属于前面的类型。

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

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

后记:今天看到了一种写法char const * p,感觉怪怪的,因为以前只是见过const char *p和char * const p,查了资料才知道 const char * 和char const *竟然是等价的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: