Pourquoi est volatile déconseillé en C ++ 20?


17

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?


13
Il existe certaines utilisations 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 incorrectement volatilelorsque l'intention est l'accès atomique.
Peter


@Peter Quelles utilisations typiques des produits volatils sont incorrectes?
curiousguy

Réponses:


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.