Beachten Sie, dass diese Frage ursprünglich im Jahr 2009 gestellt wurde, bevor C ++ 11 ratifiziert wurde und bevor die Bedeutung des
auto
Schlüsselworts drastisch geändert wurde. Die Antworten beziehen sich nur auf die C ++ 03-Bedeutung vonauto
- das ist eine spezifizierte Speicherklasse - und nicht auf die C ++ 11-Bedeutung vonauto
- das ist die automatische Typableitung. Wenn Sie nach Ratschlägen zur Verwendung von C ++ 11 suchenauto
, ist diese Frage für diese Frage nicht relevant.
Für die längste Zeit dachte ich, es gäbe keinen Grund, das static
Schlüsselwort in C zu verwenden, da Variablen, die außerhalb des Blockbereichs deklariert wurden, implizit global waren. Dann entdeckte ich, dass das Deklarieren einer Variablen als static
innerhalb des Blockbereichs eine dauerhafte Dauer und das Deklarieren außerhalb des Blockbereichs (im Programmbereich) einen Dateibereich ergeben würde (auf den nur in dieser Kompilierungseinheit zugegriffen werden kann).
Ich habe also nur ein Schlüsselwort, das ich (vielleicht) noch nicht vollständig verstehe: Das auto
Schlüsselwort. Gibt es eine andere Bedeutung als "lokale Variable"? Gibt es etwas, das nicht implizit für Sie erledigt wird, wo immer Sie es verwenden möchten? Wie verhält sich eine auto
Variable im Programmumfang? Was ist mit einer static auto
Variablen im Dateibereich? Hat dieses Schlüsselwort einen anderen Zweck als nur der Vollständigkeit halber?