1
我是C++新手,来自Java背景。 我想确认以下内容:C++外部存储类生命期
我读C++通过解剖由伊拉·波尔和书指出 寿命为文件/ extern
变量/函数是程序的持续时间(这是有道理的,因为变量没有在类中声明)。
我想知道的是什么;这也是一个变量在类中声明的情况吗?如果不是,如果变量在类中声明,那么这会使变量使用存储类?
感谢。
我是C++新手,来自Java背景。 我想确认以下内容:C++外部存储类生命期
我读C++通过解剖由伊拉·波尔和书指出 寿命为文件/ extern
变量/函数是程序的持续时间(这是有道理的,因为变量没有在类中声明)。
我想知道的是什么;这也是一个变量在类中声明的情况吗?如果不是,如果变量在类中声明,那么这会使变量使用存储类?
感谢。
除非声明为static
,否则类中的成员变量的寿命对应于类实例的生命周期。
struct Foo {
int x;
static int y;
};
这Foo
,因此,其x
,有计划寿命:
static Foo foo;
这一个是auto
:
int main() { Foo foo; }
这一个是动态分配和生活,直到Foo
是delete
'd:
int main() { Foo *foo = new Foo; }
在每种情况下,y
都具有程序使用寿命。