Selon cppreference , la plupart des utilisations du volatile
mot-clé doivent être dépréciées en C ++ 20. Quel est l'inconvénient de volatile
? Et quelle est la solution alternative lorsque vous ne l'utilisez pas volatile
?
Selon cppreference , la plupart des utilisations du volatile
mot-clé doivent être dépréciées en C ++ 20. Quel est l'inconvénient de volatile
? Et quelle est la solution alternative lorsque vous ne l'utilisez pas volatile
?
Réponses:
Il y a une bonne discussion par le président de l'évolution du langage du comité c ++ sur pourquoi.
Bref résumé, bon nombre des endroits qui volatile
sont retirés n'avaient aucune signification compréhensible et causaient simplement de la confusion.
volatile
qui ne sont PAS obsolètes, car elles sont utiles (par exemple, dans du code qui se charge ou se stocke directement à partir d'emplacements de mémoire spécifiés, comme dans les pilotes de périphérique). Un certain nombre des "utilisations déconseillées" sont liées à la capacité d'utiliser des fonctionnalités que trop de progammeurs utilisent - incorrectement - comme moyen de rendre atomique un accès variable . La bibliothèque C ++ maintenant (depuis C ++ 11) fournit un moyen correct d'assurer l'accès atomique aux variables, il est donc logique de décourager les programmeurs d'utiliser incorrectementvolatile
lorsque l'intention est l'accès atomique.