Chinaunix首页 | 论坛 | 博客
  • 博客访问: 398918
  • 博文数量: 119
  • 博客积分: 1470
  • 博客等级: 上尉
  • 技术积分: 1258
  • 用 户 组: 普通用户
  • 注册时间: 2006-02-24 13:50
文章分类

全部博文(119)

文章存档

2018年(6)

2017年(11)

2016年(4)

2013年(8)

2012年(1)

2011年(2)

2010年(4)

2009年(37)

2008年(16)

2006年(30)

我的朋友

分类: C/C++

2006-09-13 15:29:03

const char*, char const*, char*const的区别问题几乎是C++面试中每次都会有的题目。

事实上这个概念谁都有只是三种声明方式非常相似很容易记混。
Bjarne在他的The C++ Programming Language里面给出过一个助记的方法:
把一个声明从右向左读。

char  * const cp; ( * 读成 pointer to )
cp is a const pointer to char;
一个指向char的常量指针

const char * p;
p is a pointer to const char;
一个指向常量char的指针

char const * p;
p is a pointer to char const;
一个指向char常量的指针

还有一个小窍门: const修饰紧挨着的前面的内容,比如:
  int const *p 它前面是int,所以p指向的内容保持不变
  int *const p 它前面是*,所以指针本身不能变
阅读(789) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~