volatile和explicit含义

直译

首先看其中文意思,辅助理解记忆。

volatile:

adj. [化学] 挥发性的;不稳定的;爆炸性的;反复无常的

n. 挥发物;有翅的动物

 explicit:

adj. 明确的;清楚的;直率的;详述的

在c++的含义

1)volatile: 用于告诉编译器不要优化,在运行期再取其值。

程序在进行编译的时候, 编译器会进行一系列的优化.比如, 某个变量被修饰为 const的, 编译器会在寄存器中保存这个变量的值, 但是有时候, 我们取这个变量的地址, 然后强行改变这个变量在内存中的值, 这就造成了结果的不匹配, 而volatile声明 的变量就会告诉编译器, 这个变量随时会改变, 需要每次都从内存中读取, 就是不需要优化, 从而避免了这个问题, 其实, volatile应用更多的场景是多线程对共享资源的访问的时候, 避免编译器的优化, 而造成多线程之间的通信不匹配

2)explicit:用于告诉某个类构造函数不支持隐式转换,即不能通过等号或构造时就隐式类型转换了,应该通过明确的类型转换。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值