Warum ist volatile in C ++ 20 veraltet?


17

Laut cppreference sind die meisten Verwendungen des volatileSchlüsselworts in C ++ 20 veraltet. Was ist der Nachteil von volatile? Und was ist die alternative Lösung, wenn sie nicht verwendet wird volatile?


13
Es gibt einige Verwendungszwecke volatile, die NICHT veraltet sind, da sie nützlich sind (z. B. in Code, der direkt von bestimmten Speicherorten geladen oder gespeichert wird, z. B. in Gerätetreibern). Nicht wenige der "veralteten Verwendungen" beziehen sich auf die Fähigkeit, Funktionen zu verwenden, die zu viele Programmierer - fälschlicherweise - verwenden, um einen variablen Zugriff atomar zu machen . Die C ++ - Bibliothek bietet jetzt (seit C ++ 11) ein korrektes Mittel, um den atomaren Zugriff auf Variablen sicherzustellen. Daher ist es sinnvoll, Programmierer davon abzuhalten, sie falsch zu verwenden, volatilewenn die Absicht der atomare Zugriff ist.
Peter


@Peter Welche typischen Verwendungen von flüchtigen Stoffen sind falsch?
Neugieriger

Antworten:


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.