De acordo com a cppreference , a maioria dos usos da volatile
palavra - chave deve ser preterida no C ++ 20. Qual é a desvantagem de volatile
? E qual é a solução alternativa quando não estiver usando volatile
?
@ Peter Quais usos típicos do volátil estão incorretos?
—
precisa
volatile
que 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 incorretamentevolatile
quando a intenção é o acesso atômico.