Laut cppreference sind die meisten Verwendungen des volatile
Schlüsselworts in C ++ 20 veraltet. Was ist der Nachteil von volatile
? Und was ist die alternative Lösung, wenn sie nicht verwendet wird volatile
?
Laut cppreference sind die meisten Verwendungen des volatile
Schlüsselworts in C ++ 20 veraltet. Was ist der Nachteil von volatile
? Und was ist die alternative Lösung, wenn sie nicht verwendet wird volatile
?
Antworten:
Der Vorsitzende für Sprachentwicklung des C ++ - Komitees spricht gut darüber, warum.
Kurze Zusammenfassung, viele der Orte, volatile
von denen entfernt wird, hatten keine verständliche Bedeutung und verursachten nur Verwirrung.
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,volatile
wenn die Absicht der atomare Zugriff ist.