时间:2021-04-20 08:57:57 | 栏目:C代码 | 点击:次
介绍
1.malloc,free和new,delete区别。
2.使用new遵循原则:
使用
1.申请一个对象
int* p1 = new int; delete p1; p1 = NULL;
2.申请多个对象
int* p1 = new int[12]; delete[] p1; p1 = NULL;
3.申请一个长度为1024的char数组
char* pArray = new char[1024];
for (int i=0; i < 1024; i++)
{
pArray[i] = i;
}
delete[] pArray;
pArray = NULL;
4.申请一个类对象
#include <stdio.h>
class Student
{
public:
char name[32];
int age;
};
int main()
{
Student* pStu = new Student();
delete pStu;
pStu = NULL;
return 1;
}
5.申请1024个类对象
#include <stdio.h>
class Student
{
public:
int age;
Student()
{
...
}
~Student()
{
...
}
};
int main()
{
Student* pStu = new Student[1024];
for (int i=0; i<1024; i++)
{
pStu[i].age = i+1;
}
delete[] pStu;
pStu = NULL;
return 1;
}
new多个对象不能传参数,要求该类必须有默认构造函数。
总结