我们在 C++ 中使用 volatile 限定符的原因是什么?


volatile 有两个含义 −

  • 变量的值可能会在您的代码之外发生更改。因此,无论编译器何时读取变量的值时,它都不能假设该值与上次读取的值相同,或与上次存储的值相同,但必须重新读取。

  • 将值存储到 volatile 变量的动作是一个“副作用”,它可以从外部观察到,因此编译器不被允许移除存储值的动作;例如,如果有两个值按顺序存储,那么编译器必须实际上两次存储该值。

举例来说

i = 2;
i = i;

编译器必须存储数字 2,读取变量 I,存储它已读入 i 的变量。

您可以在此处找到有关 volatile 关键字的更多详细信息:www.geeksforgeeks.org/understanding-volatile-qualifier-in-c/

更新日期:30-07-2019

391 次浏览

开启您 职业生涯

获得认证通过完成课程

入门
广告