C++对象创建与销毁

来源:哔哩哔哩 发布时间:2023-04-30 23:13:04

有一个类 Entity

每个类都有一个默认的构造函数和析构函数(即使你没有自行去定义它们),在创建对象时自动调用构造函数,在销毁对象时自动调用析构函数。他们通常是不用显式调用的。

这段代码为Entity类分别定义了一个构造函数和析构函数。


(资料图片)

我们可以使用Entity a;来创建一个名为a的Entity对象

语法:类名 对象名称;

每个对象将会在作用域结束后自动销毁,也就是说在main函数执行完后将会调用析构函数进行销毁,运行以下代码。

会发现只输出了关于创建的而没有销毁,回车后将会输出销毁。

以上是在栈中创建对象,它的释放由系统决定,

在堆里面创建对象可以在出作用域后对象依然存在,它的释放由自行决定,在堆中创建对象的例子:

语法: 类名 *对象名称 = new 类名;

这样将会在堆中创建一个对象a

要想销毁它需要使用delete释放它

语法:delete 类名;

注:如果不去释放掉堆中创建的对象,那么将可能造成内存泄漏(堆中创建的对象只要你不去释放它,它将会一直存在)

栈对象:释放由系统决定,生命周期短,自由度低

堆对象:释放自行决定,生命周期长,自由度高

标签:

Copyright ©  2015-2022 华东饰品网版权所有  备案号:京ICP备2022016840号-41   联系邮箱:2 913 236 @qq.com