微信公众号:编程笔记本
点击上方蓝字关注我,我们一起学编程
欢迎小伙伴们分享、转载、私信、赞赏
今天我们来说一说 C/C++ 中的 volatile 关键字。
首先我们来看一下 volatile 的英文释义吧:**易变的;无定性的;无常性的;可能急剧波动的;不稳定的。**那这个瞬息万变的家伙跟 C/C++ 又有什么关系呢?下面我们慢慢道来。
百度百科:volatile 是一个特征修饰符(type specifier)。volatile 的作用是作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值。volatile 的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。
这样还是很抽象,让我们从编译器的优化说起吧。先来看一个例子:
#include <iostream>
using namespace std;
int main()
{
int a;
for (int i = 0; i < 1000000000; ++i)
{
a = i;
}
}
针对上述一段代码,我们进行编译运行