class MyClass
{
int x, y;
void foo() volatile {
// do stuff with x
// do stuff with y
}
};
Должен ли я объявлять 'x' и 'y' как volatile или будут ли все переменные-члены обрабатываться автоматически как volatile?
Я хочу убедиться, что "материал с" х "не переупорядочивается с помощью" stuff with "y" компилятором.
EDIT: Что произойдет, если я перевешу нормальный тип на летучий тип? Означает ли это, что компилятор не переупорядочивает доступ к этому местоположению? Я хочу передать нормальную переменную в особой ситуации функции, параметр которой нестабилен. Я должен быть уверен, что компилятор не переупорядочивает этот вызов с помощью предыдущих или последующих чтений и записей.