class MyClass
{
int x, y;
void foo() volatile {
// do stuff with x
// do stuff with y
}
};
¿Debo declarar 'x' e 'y' como volátil o todas las variables miembro se tratarán como volátiles automáticamente?C++ funciones de miembro volátil
Quiero asegurarme de que "cosas con 'x'" no se reordenen con "cosas con 'y'" por el compilador.
EDITAR: ¿Qué sucede si estoy convirtiendo un tipo normal en uno volátil? ¿Esto instruiría al compilador a no reordenar el acceso a esa ubicación? Quiero pasar una variable normal en una situación especial a una función cuyo parámetro es volátil. Debo estar seguro de que el compilador no reordena esa llamada con lecturas y escrituras anteriores o seguidas.
Muy buena pregunta. –
relacionado http: // stackoverflow.com/questions/2444734/what-is-the-purpose-of-a-volatile-member-function-in-c –