首先是new和malloc: new实际上是malloc的加强版,new不仅可以申请内存空间,还能行进初始化操作。如果是自定义类型,那么new还能构造出对象。new申请失败后会抛出异常,而malloc则是返回NULL指针。 然后是delete和free: delete底层也是用free实现的,但是delete会先析构对象,再释放内存空间。