c++中什么是生存期?

c++中什么是类的生存期.对像的生存期?那个析构函数要等对像生存期结束后才运行?怎样才知道对像的生存期结束?

生存期:
从对象分配到内存开始,到垃圾回收器从内存中删除对象结束这一段时间。
析构函数也就是释放内存空间的,也就是析构函数调用之后。
温馨提示:内容为网友见解,仅供参考
第1个回答  2007-06-19
生存期就是life,生命啊。
auto变量生存期就是在定义的函数范围内
用完便释放
全局变量在整个程序的结束
局部静态变量也是在整个程序最后
第2个回答  2007-06-19
第3个回答  2007-06-19
简单的理解就是这个类从诞生到不再使用,从内存中释放的这个过程。你不必知道什么时候结束,只要在析构函数中作相应的释放处理即可。编译器会自动在结束时调用它。

c++中什么是生存期?
生存期:从对象分配到内存开始,到垃圾回收器从内存中删除对象结束这一段时间。析构函数也就是释放内存空间的,也就是析构函数调用之后。

C++中什么是对象的生存期
对象的生存期就是这个对象存活的周期。比方说 for (int i = 0; i < 100; i++){ ...} 这里程序运行到了for这一行才去栈申请一个整形变量的空间给i用。过了for循环后,这个空间就会自动被回收了。所以在for后面这个i就变得没有定义了。但对于new出来的变量,在它的作用域以外,这个变量也会...

C++中变量的生存期和变量作用域有什么区别?
变量的生存期是变量在内存中开辟存储空间的时候就是变量定义的时候,当变量内存空间释放的时候就是变量生命周期结束的时候。如:void main(){ int nA = 0;} 当意义nA的时候nA在栈区内存中分配了空间保存nA的直, 当执行到下面程序结束时nA生命周期结束 什么是变量的作用域作用域就是它起作用的范围看...

C++中静态局部变量的生存期是什么?是贯穿整个程序还是从调用该函数开...
局部静态变量是在函数内的局部作用域的具有静态存储期(static duration)的对象。一个局部静态变量的生存期开始于该变量被初始化时自动构造(此过程中如果有构造函数则调用构造函数)完毕后,结束于整个程序结束时自动销毁(此过程中如果有析构函数则调用析构函数)前一刻。以下是直接理论依据参考:标准明确程...

C++中各种数据成员,对象,函数等它们分别是存储在哪里的呢?它们的生存期...
生存期是调用上述两函数的时间之间。建--出生,删(destruction)--消亡。类内的数据成员生存期等于或短于类的生存期,因为你可能通过动态分配和动态删除改变它们。存储在哪里 -- 现代计算机都用虚拟存储,即使是exe文件,也并不同时映射和装入到RAM中去,类用到的动态链接库,在共享区(如果已有别的...

C++问题。
的。变量的生存期取决于它的存储类型。所谓“存储类型”是指系统为变量分配的具有某种特性的存储区域,存储区域一般分为两种:静态存储区和动态存储区。存放在静态存储区中的变量在程序运行初期就被创建,它们的寿命往往与程序同步;存放在动态存储区中的变量是临时性的,在程序运行期间随时会被撤销。

C++程序运行结果问题: (1). 静态成员的生存周期只在函数体内吗 (2...
1、静态变量的生存周期是整个程序的运行期。静态变量的初始值,只在第一次声明和初始化时起作用,因此,a在other()函数第一次调用时=2,自程序运行第一次other()以后,不再执行这个a=2的初始化操作。2、void other(void);称作 函数声明,并不是函数调用。函数调用是直接other();所以,调用了2次...

关于C++ new以及多线程的生存期问题
一:main函数正常返回(也就是运行到main函数的return),主线程结束,此时如果其他线程还没有执行完毕,那么这些子线程都会被终止,接着整个进程终止。二:main函数通过ExitThread等函数终止主线程,那么此时进程并不会结束,而是等待所有其他子线程执行完毕后,整个进程才结束。我写的一个简单的演示:include...

C语言中 变量作用域的区别
作用域和生存周期是完全不同的两个概念。作用域可以看作是变量的一个有效范围,就像网游中的攻击范围一样;生存周期可以看成是一个变量能存在多久,能在那些时段存在,就像网游中的魔法持续时间……简单的以一个局部变量来举个例子:在main函数中声明了变量a,那么a的作用域就是main函数内部,脱离了main...

C++关键字的C++11详解
在C++98\/03中这个这个关键字用于声明块中的变量的生存期为自动生存期,若是对象同时具有自动存储类,即生存期在块结束时结束。这样的变量被称为局部变量。这个关键字不常用,因为即便省略,声明的默认就是auto的。 在C++11中,auto的含义改变为自动通过初值符推断声明的类型占位符。如声明auto i = 1;...

相似回答