C++ const 限定符

来源:互联网 发布:w7网络无internet访问 编辑:程序博客网 时间:2024/06/03 19:11

1、const 作用可以简单的理解为只读,即不能修改,const变量因为不能修改,必须要有初始化,否则会出错
example:

const  int  a = 0;   //定义一个const型的int变量a = 10;              //错误,不允许向const修饰的对象赋值const  int   b;     //错误,必须初始化

2、const修饰的变量虽然不能修改,但是可以参与那些不改变自身内容的运算,例如算数运算和布尔运算,也可以对其它变量赋值
example:

const  int  b = 10;int         c = b;      //正确int         d = b+10;   //正确c = b++;                //错误,不能进行自加运算if(b)                   //正确{    d = b*(c+1);       //正确}

3、可以对非const型的变量定义一个const类型的引用,但是反之则不行。
记住,对非const型变量定义const型的引用之后,该变量的值不能通过该引用修改,但是可以通过其他方法,甚至别的引用修改

int  a  = 0;const int &b = a;       //正确const int  c = 100;     int &d = c;             //错误int &m = a;             //正确a  = 10;                //正确,a是非const型的m  = 100;               //正确,m是a的非const型引用b  = 20;                //错误,不允许通过b修改afloat   f = 3.1415;const int  &e = f; //正确,会将f拷贝一份后强制转换成int型后赋给e

4、常量指针与指针常量:常量指针即指针指向的内容不可改变,但是指针的指向可以改变
指针常量即指针的指向不可以改变,但是指向的内容可以改变,下面举例说明

int  a  = 10;int  b  = 20;int  const *p = &a;//常量指针//int const *p  等价于 const int *pint *const q  = &b;//指针常量int  c  = a+b;p = &c;         //正确*p = 100;       //错误,不可以通过常量指针修改变量q = &c;         //错误,不可以改变指针的指向*q= 50;         //正确,可以通过指针常量修改所指向的内容
0 0
原创粉丝点击