volatile

De RAD Studio
Aller à : navigation, rechercher

Remonter à Liste alphabétique des mots clés - Index


Catégorie

Modificateurs (C++)

Syntaxe

volatile <définition de données; ;

Description

Utilisez le modificateur volatile pour indiquer qu'une routine d'arrière plan, une routine d'interruption ou un port E/S peut modifier une variable. La déclaration volatile d'un objet avertit le compilateur de ne pas faire de suppositions concernant la valeur de l'objet en évaluant des expressions dans lesquelles il intervient car la valeur peut changer à tout moment. Il empêche également le compilateur de faire de la variable une variable register.

volatile int ticks;
void timer( ) {
ticks++;
}
void wait (int interval) {
ticks = 0;
while (ticks < interval);  // Ne fait rien
}

Les routines de cet exemple (en supposant que timer a été correctement associé à une interruption matérielle d'horloge) implémentent une attente temporisée de ticks spécifiée par l'argument interval. Un compilateur hautement optimisé pourrait ne pas charger la valeur de ticks à l'intérieur du test de la boucle while car la boucle ne modifie pas la valeur de ticks.

Remarque :  C++ étend l'utilisation de volatile aux classes et aux fonctions membres. Si vous avez déclaré un objet volatile, vous ne pouvez utiliser que ses fonctions membres volatile.

Voir aussi