1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > C++中对象数组的构造函数和析构函数调用

C++中对象数组的构造函数和析构函数调用

时间:2021-02-17 09:09:28

相关推荐

C++中对象数组的构造函数和析构函数调用

C++的对象数组

顾名思义,即是存储对象的数组。比如有一个对象A,实例化为对象数组有如下两种方式:

A a[3]; //第一种方法,在栈空间中占用内存A *a = new A[3];//第二种方法,在堆空间中分配空间

对象数组调用构造函数及析构函数

例子1

class A {public:A() {cout << "A()" << endl; }~A() {cout << "~A()" << endl; }};int main(){A a[3];//定义了对象数组return 0;}

输出:

A()A()A()~A()~A()~A()

例子2

class A {public:A() {cout << "A()" << endl; }~A() {cout << "~A()" << endl; }};int main(){A *p=new A[3];return 0;}

输出:

A()A()A()

new操作是在堆空间申请堆内存,所以需要程序员手动释放,如果添加手动释放的代码,则会打印析构函数函数的调用

class A {public:A() {cout << "A()" << endl; }~A() {cout << "~A()" << endl; }};int main(){A *p=new A[3];delete []p;return 0;}

输出

A()A()A()~A()~A()~A()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。