Согласно cppreference , большинство применений этого volatile
ключевого слова в C ++ 20 не рекомендуется. В чем недостаток volatile
? И каково альтернативное решение, когда не используется volatile
?
@Peter Какие типичные виды использования летучих являются неправильными?
—
любопытный парень
volatile
, которые НЕ устаревают, потому что они полезны (например, в коде, который напрямую загружается или хранится из указанных областей памяти, например, в драйверах устройств). Очень немногие из «устаревшие использования» связаны со способностью к особенностям использования , которые слишком много progammers используют - неправильно - как средство делает доступ к переменной атомное . Теперь библиотека C ++ (начиная с C ++ 11) обеспечивает правильные средства обеспечения атомарного доступа к переменным, поэтому имеет смысл отговаривать программистов от неправильного использования,volatile
когда целью является атомарный доступ.