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