1、和malloc calloc realloc比较
1.1、malloc返回一个void指针,c++不允许将void赋值给其他任何指针,必须强转。
1.2、malloc可能申请内存失败,所以必须判断返回值来确保内存分配成功。
1.3、malloc 不会调用构造函数。free 不会调用析构函数(重要的)
2、new 给基本类型申请空间
void test01()
{
//基本类型
int *p = NULL;
//p = (int *)calloc(1,sizeof(int));
//p = new int(100);// *p = 100
p = new int;
*p = 100;
cout<<"*p = "<<*p<<endl;//100
//释放 free(p)
delete p;
}
3、new 申请 基本类型数组空间
注意:
new 没有加[] delete释放的时候 就不加[]
new 加[] delete释放的时候 就加[]
4、new delete 给类对象申请空间