读书人

const跟指针的那些事

发布时间: 2013-09-07 14:12:44 作者: rapoo

const和指针的那些事

写过一篇关于c++中const的总结,这里详细总结一下const和指针之间的关系

首先我们看一段代码,就是字符数组的初始化问题

#include <iostream>using namespace std;int main(){    const char *const cocptr = "const pointer to const object";    cocptr[0] = 'C';//error    char t[] = "another string";    cocptr = t;//error    return 0;}

另外要注意:

指针常量的申明:const 放在* 和指针名之间 Type* const pointer ;
常量指针的申明:const放在类型说明符之前 const Type* pointer ;

我们可以这样记忆: type* 为指针 ,const为常量 , type* const是指针常量,const type*是常量指针 详见《c++ primer》p180

最后加上我的理解,为什么c/c++中要用这个const,因为这和数据的属性有关,有些数据可变,有些不可变,在程序的运行中这都是未知的,如果我们想要以可预见的方式控制程序的流程和数据的变动,就需要这种常量关键字的机制



读书人网 >编程

热点推荐