class MyClass
{
int x, y;
void foo() volatile {
// do stuff with x
// do stuff with y
}
};
我需要将x
和y
声明为volatile
,还是所有成员变量都会自动被视为volatile
?
我想确保编译器不会重新排列“与x
相关的内容”和“与y
相关的内容”。
编辑:
如果我将普通类型转换为volatile
类型会发生什么?这会指示编译器不要重新排列对该位置的访问吗?我想在特殊情况下将普通变量传递给参数为volatile的函数。我必须确保编译器不会将该调用与先前或后续的读写重新排序。