【发布时间】:2011-06-17 03:17:55
【问题描述】:
class MyClass
{
int x, y;
void foo() volatile {
// do stuff with x
// do stuff with y
}
};
我需要将x 和y 声明为volatile 还是将所有成员变量自动视为volatile?
我想确保编译器不会将“带有x 的东西”重新排序为“带有y 的东西”。
编辑:
如果我将普通类型转换为 volatile 类型会发生什么?这会指示编译器不要重新排序对该位置的访问吗?我想在特殊情况下将普通变量传递给参数为 volatile 的函数。我必须确保编译器不会通过之前或之后的读写重新排序该调用。
【问题讨论】:
标签: c++ volatile member-functions