根据cppreference,volatile
在C ++ 20中不推荐使用该关键字的大多数用法。缺点是volatile
什么?不使用时的替代解决方案是什么volatile
?
@Peter volatile的哪些典型用法不正确?
—
curiousguy19年
根据cppreference,volatile
在C ++ 20中不推荐使用该关键字的大多数用法。缺点是volatile
什么?不使用时的替代解决方案是什么volatile
?
Answers:
C ++委员会语言发展主席就其原因进行了很好的演讲。
简短摘要,许多volatile
被删除的地方没有任何可理解的含义,只是造成了混乱。
volatile
不建议弃用某些用法,因为它们很有用(例如,在直接从指定内存位置加载或存储的代码中,例如在设备驱动程序中)。相当多的“不建议使用的用途”与使用太多编程人员错误使用的功能作为使可变访问原子化的方法的能力有关。现在的C ++库(自C ++ 11起)提供了确保对变量进行原子访问的正确方法,因此,volatile
当意图是原子访问时,劝阻程序员不正确使用是有意义的。