C++ 中 volatile 关键字有什么用?
这里我们来了解一下 C++ 中 volatile 限定符的含义。我们声明变量时即可应用 volatile 限定符。它用于告诉编译器,该值可能会随时更改。下面是 volatile 的一些特性。
- volatile 关键字不能删除内存赋值。
- 它不能在寄存器中缓存变量。
- 值不能按赋值顺序更改。
让我们看看如何使用 volatile 关键字。
volatile int a; int volatile a;
这两个声明是正确的。与其他数据类型一样,我们可以使用 volatile 指针、结构、联合等。volatile 结构和联合本身可以是 volatile 的,它们的成员变量也可以是 volatile 类型。
volatile 用于不同的位置。对于内存映射的外围寄存器、一些由其他函数或中断服务例程访问的全局变量,或者在一些多线程应用程序中,可以使用 volatile。
示例
int main (){ int value; value++; } int main (){ volatile int value; value++; }
有两块代码。在第一块代码中没有 volatile 关键字。因此对于第一种情况,该变量将从内存复制到 CPU 寄存器,然后执行操作。在第二种情况下,有 volatile 关键字。因此,在这种情况下该变量不会从内存复制到寄存器。
广告