Por que o volátil é descontinuado no C ++ 20?


17

De acordo com a cppreference , a maioria dos usos da volatilepalavra - chave deve ser preterida no C ++ 20. Qual é a desvantagem de volatile? E qual é a solução alternativa quando não estiver usando volatile?


13
Existem alguns usos volatileque NÃO são preteridos, porque são úteis (por exemplo, no código que carrega ou armazena diretamente de locais de memória especificados, como em drivers de dispositivo). Alguns dos "usos obsoletos" estão relacionados à capacidade de usar recursos que muitos programadores usam - incorretamente - como um meio de tornar atômico o acesso variável . A biblioteca C ++ agora (desde C ++ 11) fornece um meio correto de garantir o acesso atômico de variáveis; portanto, faz sentido desencorajar os programadores de usar incorretamente volatilequando a intenção é o acesso atômico.
Peter


@ Peter Quais usos típicos do volátil estão incorretos?
precisa

Respostas:


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.