const限定符

C++ 专栏收录该内容
2 篇文章 0 订阅

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
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

yunbuqi

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值