C++ 語言/變數/生命週期和作用域
外觀
在所有函式之外定義的變數將具有“靜態生命週期”(它將在您的軟體的整個持續時間記憶體在)。在某個函式內部定義的變數也可以具有靜態生命週期,但它需要使用static關鍵字標記。否則,它將是一個短暫的“區域性變數”,其儲存在該函式結束時將消失。
在某個函式內部定義的變數具有“區域性作用域”(無論其生命週期如何,它只能在該函式內部使用)。在所有函式之外定義的變數具有“全域性作用域”(它可以被所有後續函式使用)。如果您使用static關鍵字標記全域性作用域變數,那麼它只能在本原始檔中使用。