Відповідно до cppreference , більшість застосувань volatileключового слова повинні бути застаріли в C ++ 20. У чому недолік volatile? І яке альтернативне рішення, коли не використовується volatile?
@Peter Які типові способи використання летких є невірними?
—
curiousguy
volatileНЕ застаріли, оскільки вони корисні (наприклад, у коді, який безпосередньо завантажує або зберігає з визначених місць пам'яті, наприклад, у драйверах пристроїв). Дуже кілька «застарілих застосувань» пов'язані зі здатністю використовувати функції, які занадто багато прогмемерів використовують - неправильно - як засіб створення атомного змінного доступу . Зараз бібліотека C ++ (оскільки C ++ 11) забезпечує правильний спосіб забезпечення атомного доступу до змінних, тому має сенс відмовити програмістів від неправильного використання,volatileколи наміром є атомний доступ.