class MyClass
{
int x, y;
void foo() volatile {
// do stuff with x
// do stuff with y
}
};
Devo dichiarare "x" e "y" come volatili o tutte le variabili membro vengono considerate automaticamente come volatili?Funzioni membro volatile C++
Voglio assicurarmi che "roba con 'x'" non sia riordinato con "cose con 'y'" dal compilatore.
MODIFICA: Cosa succede se sto trasmettendo un tipo normale a un tipo volatile? Questo dovrebbe istruire il compilatore a non riordinare l'accesso a quella posizione? Voglio passare una variabile normale in una situazione speciale a una funzione il cui parametro è volatile. Devo essere sicuro che il compilatore non riordini quella chiamata con letture e scritture precedenti o successive.
grande domanda. –
http: // stackoverflow correlato.it/questions/2444734/what-is-the-purpose-of-un-membro-volatile-function-in-c –