C++在堆中创建对象
·
堆中创建对象概述
1.可以在全局变量区、堆栈或堆中创建对象
2.全局变量区:在函数外部创建对象,对象空间在全局变量区分配
3.堆栈:在函数内部创建对象,对象空间在堆栈中分配,函数调用时分配空间,函数执行完毕空间释放
4.堆:使用malloc函数在C语言中申请堆空间,使用new关键词在C++中创建堆对象
C++中堆对象创建
1.new和delete是C++中的一对关键字,用于在堆中动态分配和释放内存
2.new会分配内存并调用构造函数初始化对象
C++中数组对象创建
1.使用new[]创建数组对象
语法:指针类型*指针变量名=new类型[数组长度];
2.new[]在堆中申请连续内存空间,并调用构造函数初始化每个对象
3.释放数组对象使用delete[]
语法:delete[]指针变量名;
C++中自定义类型对象创建
1.使用new创建自定义类型对象
语法:指针类型*指针变量名=new类型(参数);
2.new在堆中分配内存,并调用自定义类型的构造函数初始化对象
3.释放自定义类型对象使用delete
语法:delete指针变量名;
new执行流程
1.new调用Windows提供的HeapAlloc函数在堆中申请内存
2.申请内存后,调用对象的构造函数初始化内存空间
3.new相当于malloc+构造函数
delete执行流程
1.delete调用Windows提供的HeapFree函数释放堆内存
2.释放内存前,调用对象的析构函数
3.delete相当于free+析构函数
4.删除数组对象时,必须使用delete[],以确保所有对象都被正确释放
更多推荐
所有评论(0)