为什么我们在 C++ 中使用 volatile 修饰符?
volatile 有两个含义 -
变量的值在没有您的代码修改的情况下都可能会发生变化。因此,无论何时编译器读取变量的值,它都不认为该值与上次读取的值相同,也不认为该值与上次存储的值相同,而必须重新读取它。
将值存储到 volatile 变量中的行为是一个可以从外部观察到的“副作用”,因此编译器不允许删除存储值的行为;例如,如果将两个值按行存储,那么编译器实际上必须将该值存储两次。
比如
i = 2; i = i;
编译器必须存储数字 2,读取变量 I,将读取到的变量存储到 i 中。
您可以在此处找到有关 volatile 关键字的更多详细信息:www.geeksforgeeks.org/understanding-volatile-qualifier-in-c/
广告