c++中const关键字的使用

c++中const关键字的使用

本篇文章,主要是对《C++ Primer》中关于const限定符的总结,加一点自己的理解。

初始化和const

const的使用方式如:const int bufsize=512这样就把bufsize定义成了一个常量。任何试图为bufsize赋值的行为都将引发错误:bufsize=512;//会报错

const int i=get_size();//正确:运行时初始化
const int j=42;        //正确:编译时初始化
const int k;           //错误:k是一个未经初始化的常量

在不改变const对象的操作中还有一种是初始化,如果利用一个对象去初始化另外一个对象,则它们是不是const都无关紧要。

int i=42;
const int ci=i; //正确:i的值被拷贝给了ci
int j=ci; 		//正确:ci的值被拷贝给了j

尽管ci是整型常量,但无论如何ci中的值还是一个整型数。ci的常量特征仅仅在改变ci的操作时才会发挥作用。当用ci去初始化j时,根本就无需在意ci是不是一个常量。拷贝一个对象的值并不会改变它,一旦拷贝完成,新的对象就和原来的对象没什么关系了。

const int bufSize=512; //输入缓冲区大小

编译器将在编译过程中把用到该变量的地方都替换成对应的值。也就是说,编译器会找到代码中所有用到bufSize的地方,然后用512替换。

const的引用

可以把引用绑定到const对象上,就像绑定到其他对象上一样,我们称之为对常量的引用(reference to const)。与普通引用不同的是,对常量的引用不能被用作修改它所绑定的对象:

const int ci=1024;
const int &r1=ci;  //正确:引用及其对应的对象都是常量
r1=42;             //错误:r1是对常量的引用
int &r2=ci;        //错误:试图让一个非常量引用指向一个常量对象

先写(抄)到这,后面复习的时候再补全。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值