什么是C ++中的volatile关键字?

在这里,我们将了解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寄存器,然后执行操作。在第二种情况下,存在挥发物。因此,在这种情况下,变量将不会从存储器复制到寄存器。