C++深度解析 经典问题解析---const和引用,只读变量和常量,引用和指针(11)【详细】

C++深度解析 经典问题解析 const和引用,只读变量和常量(11)【详细】

 

 

 

对于const的疑问

const常量判别准则

  • 只有用字面量初始化的const常量才会进入符号表,是真正意义上的常量
  • 使用其他变量初始化的const常量仍然是只读变量
  • volatile修饰(易变的,可能发生变化的)的const常量不会进入符号表,volatile const同时修饰的标识符,得到的是只读变量。
  • const引用的类型初始化变量的类型相同:初始化变量成为只读变量,不同生成一个新的只读变量

只读变量和常量的区别:

归纳起来:编译期间,不能直接确定初始值的const标识符,都是只读变量

    //用字面量1初始化x,x是真正意义上的常量,并且编译器会为常量x分配4个字节的空间,x会进入了符号表
    const int x = 1;
    
    //因为使用变量初始化,所以引用rx代表一个只读变量。编译器会为常量x分配4个字节的空间,rx代表这4个字节空间的别名
    const int& rx = x; //引用代表变量的别名(也就是说一段内存的别名)

引用代表变量的别名,变量的别名代表一段内存空间的别名。

const引用:

const引用使得存在的变量拥有只读属性

把const引用初始化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值