const的使用问题
char *const p;
char const *p
const char *p
这三个有什么区别呀
[解决办法]
http://bbs.csdn.net/
[解决办法]
1)、const在前面
const int nValue; //nValue是const
const char *pContent; //*pContent是const, pContent可变
const (char *) pContent;//pContent是const,*pContent可变
char* const pContent; //pContent是const,*pContent可变
const char* const pContent; //pContent和*pContent都是const
[解决办法]
2)、const在后面
int const nValue; // nValue是const
char const * pContent;// *pContent是const, pContent可变
(char *) const pContent;//pContent是const,*pContent可变
char* const pContent;// pContent是const,*pContent可变
char const* const pContent;// pContent和*pContent都是const
[解决办法]
后两种情况时一样的,const修饰*p,就是指针指向的内容不可变。第一种const修饰p,p是一个指针,所以意思是指针本身的值(一个内存地址)不可变,也就是指针不可指向其他数据。