Dans de très rares cas, une variable peut être modifiée sans que le programme le sache ; cela arrive par exemple avec une variable globale modifiée par une tâche de fond ou par une interruption système.
Dans ce cas, la variable doit être déclarée volatile, afin que le compilateur sache quil ne peut la conserver nulle part (surtout pas dans un registre), et quil ne peut faire certaines optimisations sur elle :
volatile int i;
Précisons aussi que les fonctions membres dune classe peuvent être déclarées volatiles (voir chapitre 6 pour les classes) ; dans ce cas, une instance volatile de la classe ne pourra utiliser que les fonctions membres volatiles.
| Suivant |