直译
首先看其中文意思,辅助理解记忆。
volatile:
adj. [化学] 挥发性的;不稳定的;爆炸性的;反复无常的
n. 挥发物;有翅的动物
explicit:
adj. 明确的;清楚的;直率的;详述的
在c++的含义
1)volatile: 用于告诉编译器不要优化,在运行期再取其值。
程序在进行编译的时候, 编译器会进行一系列的优化.比如, 某个变量被修饰为 const的, 编译器会在寄存器中保存这个变量的值, 但是有时候, 我们取这个变量的地址, 然后强行改变这个变量在内存中的值, 这就造成了结果的不匹配, 而volatile声明 的变量就会告诉编译器, 这个变量随时会改变, 需要每次都从内存中读取, 就是不需要优化, 从而避免了这个问题, 其实, volatile应用更多的场景是多线程对共享资源的访问的时候, 避免编译器的优化, 而造成多线程之间的通信不匹配!