我们在 C++ 中使用 volatile 限定符的原因是什么?
volatile 有两个含义 −
变量的值可能会在您的代码之外发生更改。因此,无论编译器何时读取变量的值时,它都不能假设该值与上次读取的值相同,或与上次存储的值相同,但必须重新读取。
将值存储到 volatile 变量的动作是一个“副作用”,它可以从外部观察到,因此编译器不被允许移除存储值的动作;例如,如果有两个值按顺序存储,那么编译器必须实际上两次存储该值。
举例来说
i = 2; i = i;
编译器必须存储数字 2,读取变量 I,存储它已读入 i 的变量。
您可以在此处找到有关 volatile 关键字的更多详细信息:www.geeksforgeeks.org/understanding-volatile-qualifier-in-c/
广告