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