- new一个变量并delete
int *p=new int(10);
delete p;
- new一个数组并delete
void test(){
int *arr = new int[10];
//new一个int型数组返回的是指向数组的首地址的int型指针
for(int i =0;i < 10; i++){
arr[i]=100+i;
}
//使用new出来的数组的时候还是用下标来进行读和写的操作
for(int i =0;i < 10; i++){
cout << arr[i] <<endl;
}
delete[] arr;
//因为是delete的是一个数组,所以中间要添加中括号
}
- new一个对象
class Person{};
Person *p = new Person;//在堆区申请一个sizeof(Person)字节的内存。用一个Person类的指针指向生成的对象
//在多态的时候需要的是用父类的指针指向子类的对象
//eg AbstractCalculator *abc = new AddCalculator;