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?

康 桓 瑋
fonte
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
2
É importante
ressaltar que
@ Peter Quais usos típicos do volátil estão incorretos?
precisa

Respostas: