C++中的各种const总结

部分内容转自http://blog.csdn.net/Eric_Jo/article/details/4138548

1、定义const常量:

const int a=1;

Note:如果多个文件之间共享const常量,则需要在声明和定义的时候加externd,编译时分配内存,且不用初始化.

2、const指针:

const int i=0;

const int * ptr=&i;//指针指向const类型的值。只有此类指针才能指向const对象。

int * const prt=&i;//指针本身所存的地址不可变。

Note:记忆方法如下

如果const位于*的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;
如果const位于*的右侧,const就是修饰指针本身,即指针本身是常量。

const int * const ptr=&i;\\两者都不可变。


3、const修饰引用:

int i=1;

const int c=10;

const int & rc=c;\\const 引用绑定在const常量上

const int &i =&i\\允许将const引用绑定在普通变量上,反之不可以。

4、const修饰成员函数:

const修饰类的成员函数,则该成员函数不能修改类中任何非const成员函数。一般写在函数的最后来修饰。

对于const类对象/指针/引用,只能调用类的const成员函数,因此,const修饰成员函数的最重要作用就是限制对于const对象的使用。

a. const成员函数不被允许修改它所在对象的任何一个数据成员。

b. const成员函数能够访问对象的const成员,而其他成员函数不可以。

5、const修饰成员变量:

此时,成员变量只能在初始化列表中赋值。

6、const修饰类对象:

const修饰类对象表示该对象为常量对象,其中的任何成员都不能被修改。对于对象指针和对象引用也是一样。

const修饰的对象,该对象的任何非const成员函数都不能被调用,因为任何非const成员函数会有修改成员变量的企图。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值