new操作符分配的内存空间的生存期?

来源:百度知道 编辑:UC知道 时间:2024/05/18 20:37:25
C++中用new操作符分配的内存,如果没有用delete清除,那么它是不是在程序运行过程中都是有效的?而调用new操作的函数结束后用new操作符分配的内存是否仍旧有效,直到用delete操作清除?
另外问一下,在类的私有部分定义的非静态数据的生存期如何?不是new出来的,比如是int x,类似这样的定义
不好意思,再麻烦一下,那如果是
class A
{
private:
int x;
}
这个变量x的生存期呢?

是的,一直有效!

在类的私有部分定义的非静态数据,如果也是 new 出来的同样一直有效。如果不是new出来的,其生存期与类的实例是相同的,比如:

class A
{
int x;
public:
...
};

...
A test1; //与test1的生存期相同