class MyClass
{
int x, y;
void foo() volatile {
// do stuff with x
// do stuff with y
}
};
Run Code Online (Sandbox Code Playgroud)
我是否需要声明x并将其y视为volatile或将成为volatile自动处理的所有成员变量?
我想确保"stuff with x"不会y被编译器的"stuff with " 重新排序.
编辑:如果我将正常类型转换为volatile类型会发生什么?这是否会指示编译器不重新排序对该位置的访问?我想在特殊情况下将一个普通变量传递给一个参数是volatile的函数.我必须确保编译器不会使用先前或后续的读写重新排序该调用.
我通常会看到const 用于表示const成员函数的说明符.但是当使用volatile关键字时它意味着什么?
void f() volatile {}
Run Code Online (Sandbox Code Playgroud)
这对我来说很好,但我不明白这是什么.我在搜索中找不到任何关于此的信息,所以任何帮助都表示赞赏.
更新:为了说清楚,我知道它volatile是为了什么.我只是不知道在这种情况下它意味着什么.