C++Specifiers di classe di archiviazione


introduzione

Gli identificatori delle classi di archiviazione sono parole chiave che possono essere utilizzate nelle dichiarazioni. Non influenzano il tipo della dichiarazione, ma in genere modificano il modo in cui l'entità è archiviata.

Osservazioni

Esistono sei identificatori di classe di memoria, sebbene non tutti nella stessa versione della lingua: auto (fino a C ++ 11), register (fino a C ++ 17), static , thread_local (dal C ++ 11), extern e mutable .

Secondo lo standard,

Al massimo un identificatore della classe di memoria deve apparire in un declinatore-se-specificatore seq, eccetto che thread_local può apparire con static o extern .

Una dichiarazione potrebbe non contenere alcun identificatore di classe di memoria. In tal caso, la lingua specifica un comportamento predefinito. Ad esempio, per impostazione predefinita, una variabile dichiarata a livello di blocco ha implicitamente durata di archiviazione automatica.

Specifiers di classe di archiviazione Esempi correlati