1.new 和malloc的区别
malloc需要类型转换,new不需要
malloc是c函数,用free来释放内存,new是c++操作符,分配内存时会调用构造函数,用delete释放new分配的内存,delete也是c++操作符,会调用析构函数
尽可能使用new,因为malloc函数需要一定的执行时间
内存耗尽时,malloc会失败,并返回空指针,new会抛出异常
2.free一个指针2次有什么后果
segmentation fault
It *may* return harmlessly or give a segmentation error or something even nastier.
p = NULL;
free(p); //这样比较安全