Ich frage mich, über die verschiedenen Verwendungen des flüchtigen Schlüsselwort in Kombination mit Register, const und statische Schlüsselwörter. Ich bin nicht sicher, was die Auswirkungen sind, so dass ich denke:const volatile, registrieren flüchtigen, statische volatile in C++
register volatile int T=10;
vorschlagen, die Compiler zu speichern T in einem Register und den Wert von T kann von irgendwo außerhalb (O, Hardware, ein anderer Thread)
modifiziert werdenconst volatile int T=10;
Das Programm selbst kann T nicht ändern, aber T kann außerhalb des Codes geändert werden.
static volatile int T=10;
Wenn T ein Datenelement einer Klasse ist, bedeutet dies, dass alle Objekte der Klasse den gleichen Wert für T und T kann von irgendwo außerhalb geändert werden. Wenn T eine globale Variable in einer Datei ist, kann der Quellcode in anderen Dateien (die Teil des Projekts sind) nicht auf T zugreifen, aber auf T kann von außerhalb zugegriffen werden. Wenn T eine lokale Variable in einer Funktion ist, bleibt sie, sobald sie initialisiert wurde, bis zum Ende des Programms im Speicher und kann von irgendwo außerhalb modifiziert werden.
Sind meine Gedanken korrekt und kann jeder erfahrene C++ - Entwickler ein Beispiel geben, in dem das oben Genannte möglicherweise in realen Anwendungen verwendet wird oder es sehr selten ist?
Sehr nett! +1. Könnte sogar "veränderbar" einschließen. –