[C++]课堂笔记20190618

博客指出delete使用时若没写[],编译器可能不报错,但会造成部分内存未释放,导致内存泄漏。还提及构造函数、析构函数特点,以及类定义相关内容,如多个部件组成的类,部件用指针定义,在构造函数用new生成实例,用delete删除。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//动态内存分配
Monster[10];
Monster *hp;
hp = new Monster[10];
delete[]hp;

如果delete时没写[]的话编译器可能不会报错,但是一部分内存不会释放,从而导致内存泄漏

コンストラクタ
デストラクタ

class Monster
{
public:
	int HP;
	Monster()
	{
	}
	~Monster()
	{
	}
};

函数名和类名相同
没有指定返回值类型

class Mosnter
{
public:
	int HP;
	Monster()
	{
		printf("konn!\n");
	}
	~Monster()
	{
		printf("death!\n");
	}
};
int main()
{
	printf("start\n");
	Monster champ;
	Monster *p;
	p=new Mosnter;
	printf("dotyuu\n");
	delete p;
	getchar();
	return 0;
}

kadai 03 「new と delete」
複数の部品からなる何かをクラス定義
部品もクラス定義してください

class Robot
class head
class LeftArm
class RightArm
class LeftLeg
class Right
class JJ

それぞれの部品がポインタで定義

class Robot
{
	Head *headP;
}

コンストラクタで部品のインスタンスをnewで生成する

Robot()
{
	printf("amuroikimasu!\n");
	headP = new Head;
}

部品のインスタンスをdeleteで削除してください

~Robot()
{
	
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值