Secondo questa defect report C++ 03 standard non garantisce che nel seguente codice:Che cos'è un modo compatibile con C++ 03 per prelevare un valore da una variabile volatile?
volatile int x;
void f() {
x;
}
la variabile viene letta da.
Quindi come faccio a scrivere codice che legge il valore della variabile volatile e scarta il risultato (letto per ragioni di lettura)?
Per curiosità, perché vuoi fare questo? –
@AndreasBrinck Non so perché l'OP vorrebbe questo in particolare, ma è piuttosto comune nella programmazione embedded, dove si potrebbe voler leggere da un registro mappato in memoria, e quella lettura può causare alcuni effetti collaterali. –
@Andreas Brinck: questo è necessario per far sì che il sistema operativo assegni effettivamente una pagina di memoria - l'allocazione è ritardata fino al primo accesso. – sharptooth