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?

康 桓 瑋
la source
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: