C++ 语言/变量/生命周期和作用域
外观
在所有函数之外定义的变量将具有“静态生命周期”(它将在您的软件的整个持续时间内存在)。在某个函数内部定义的变量也可以具有静态生命周期,但它需要使用static
关键字标记。否则,它将是一个短暂的“局部变量”,其存储在该函数结束时将消失。
在某个函数内部定义的变量具有“局部作用域”(无论其生命周期如何,它只能在该函数内部使用)。在所有函数之外定义的变量具有“全局作用域”(它可以被所有后续函数使用)。如果您使用static
关键字标记全局作用域变量,那么它只能在本源文件中使用。