C++笔记 const

C++笔记 const

const作用:

 const是常量标识符。防止数据被修改。

使用方法:

1. 常量使用的时候需要进行初始化否则无法使用。

在这里插入图片描述

2. 常量字符串指针使用:
  1. 当定义一个常量字符串指针
    如图:
    在这里插入图片描述
     很显然是无法进行修改的并且会报错表达式是可以修改的左值。
  2. 指针的自增,自减。
    如图:
    在这里插入图片描述

 常量指针是可以正常进行移动的这个并不影响。
3. 指针的赋值
如图:
在这里插入图片描述
 可以看到指针的指向的内容发生了变化说明常量指针是可以正常进行复制但是无法修改。
4. char const * 与 const char* 效果是一样的。
如图:
在这里插入图片描述
5. char * const 特殊性
如图:
在这里插入图片描述
可以发现的是,当关键字位置发生改变后指针p就不能进行任何操作了相当于"锁死"。

  1. 常量引用
    如图:
    在这里插入图片描述
    可以直接对值进行引用原因是右值是一个常量值,所以是可以直接引用的。

总结:

 上面所列出来的所有用法都是利用不同的结合方向与优先级进行的。需要注意的事const char 是一种变量类型是常量字符,char* const请注意的是符号顺序不一致,首先它是一个char* 然后const只是对后面的变量进行修饰。修饰的对象不同则限定的权限不同,char& const 限定的是变量本身的写入权限,而const char * 本质上是限定的char * 的权限。所以一旦定义就无法修改。其他写法都是同理。

逆向分析:

在这里插入图片描述
在这里插入图片描述
  在汇编来看不同的写法最后生成的汇编代码是一致的,所以这种权限上的限定它都是在编译器之间就已经完成了。在汇编上并无差异。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值