C++ 速查手冊

13.1 - 存在期

變數有一定的存在期 (storage duration) ,宣告變數如同變數的誕生,而後在程式執行的某一個時間點結束,有三類存在期

使用以下的關鍵字 (keyword) 宣告

auto 在 C++11 之前用來宣告自動存在期的變數,由於沒有用 auto 宣告的變數都預設為自動存在期,因此到 C++11 已經改變 auto 的語意。

自動存在期的變數在作用域 (scope) 結束時,跟著變數也會自動終止,像是宣告在函數 (function) 裡的變數就是自動存在期的區域變數 (local variable) ,效力僅限在於函數主體的大括弧中。

register 用來要求編譯器將這個變數放入處理器的暫存器之中,也是屬於自動存在期,已不被建議使用。

宣告 static 的變數屬於靜態存在期,靜態存在期的變數特色是會一直存在,直到程式結束為止。

至於 extern 用於外部連結的變數, thread_local 則是 C++11 新增的關鍵字,用於執行緒 (thread) 的部分。

上一頁 單元 13 - 其他宣告內容
回 C++ 速查手冊首頁
下一頁 13.2 - 組合語言支援