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.
Précédent | Sommaire | Suivant |