您的位置:首页 > 其它

如何理解*

2014-02-11 21:41 309 查看
如何理解*

  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关键字放在类型或变量名之前等价的。

char ** p1;
//    pointer to    pointer to    char
const char **p2;
//    pointer to    pointer to const char
char * const * p3;
//    pointer to const pointer to    char
const char * const * p4;
//    pointer to const pointer to const char
char ** const p5;
// const pointer to    pointer to    char
const char ** const p6;
// const pointer to    pointer to const char
char * const * const p7;
// const pointer to const pointer to    char
const char * const * const p8;
// const pointer to const pointer to const char


参考:/article/2869568.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: