1. 存放的区域
程序执行时,动态分配的对象存放在堆(heap)区。
2. new定义和初始化
int *pi = new int; //定义
int *pi = new int(3.14); //初始化
int *pi = new string; //初始化,指向空
string会调用构造函数初始化为空,内置类型的对象没有初始化,可以这样初始化:
int *pi = new int(); //初始化,指向0
3. delete释放对象
只有用new分配的内存地址,才能使用delete。不要多次delete。在删除了指针指向的对象后,应该立即设置为0。
delete pi;
pi = 0;