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 *竟然是等价的。
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 *竟然是等价的。
相关文章推荐
- const char*, char const* and char *const 的区别
- [C++] const and char*
- const char * and char * const
- const char*, char const* and char *const 的区别
- 老调重弹:const char*, char const* and char *const
- const char*, char const* and char *const
- const char*, char const* and char *const
- 老调重弹:const char*, char const* and char *const
- 老调重弹:const char*, char const* and char *const,摘自网络
- const char*, char const* and char *const
- 关于const char*, char const* and char *const 等的区别
- const char*, char const* and char *const
- const char * and char *const
- 自我理解:const char*, char const* and char *const
- const char*, char const* and char *const 的区别
- Ordered comparison between pointer and zero ('const char *' and 'int')
- const char*, char const* and char *const 的区别
- 老调重弹:const char*, char const* and char *const
- 关于const char*, char const* and char *const 等的区别
- const char and static const char