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
?
17
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
?
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.Respostas:
Há uma boa conversa do presidente de evolução de linguagem do comitê c ++ sobre o porquê.
Breve resumo, muitos dos lugares que
volatile
estão sendo removidos não tinham nenhum significado compreensível e apenas causavam confusão.fonte