Selon cppreference , la plupart des utilisations du volatilemot-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 volatilemot-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 volatilesont retirés n'avaient aucune signification compréhensible et causaient simplement de la confusion.
volatilequi 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 incorrectementvolatilelorsque l'intention est l'accès atomique.