const限定符

1. 默认状态下, const对象仅在文件内有效
当以编译时初始化的方式定义一个const对象时,编译器将在编译过程中把用到给变量的地方都替换成对应的值。
为了执行这个替换,编译器必须知道变量的初始值。如果程序包含多个文件, 则每个用了const对象的文件都必须能访问它的初始值才行。因此在每个用到const队形的文件都需要包含该对象的定义。为了支持这一特性,同时避免同一变量的重复定义,默认情况下,const对象被设定为仅在文件内有效。
如果const对象初始值不是一个常量表达式时,不需要为每一个文件都定义一个变量,这是可以再const变量的声明和定义都添加extern关键字
2. 初始化和对const的引用
引用的类型必须与其所引用对象的类型一致。但是初始化常量引用时允许用任意表达式作为初始值,只要该表达式的结果能转换成引用的类型即可。
example:
double dval = 3.14;
const int &ri = dval; // ri 绑定到一个临时变量
int &rii = dval; // error,C++语言将非const引用绑定到临时变量归为非法。
3. const引用可能引用的是非const对象

《C++ primer》第五版 读书笔记

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值