C++中free与delete的区别

  首先free对应的是malloc;delete对应的是new;free用来释放malloc出来的动态内存,delete用来释放new出来的动态内存空间。

  new和delete是C++的操作符,而malloc和free是C中的函数。

  new做两件事,一是分配内存,而是调用类的构造函数;同样delete会调用类的析构函数和释放内存。而malloc和free只是分配和释放内存。

猜你喜欢

转载自my.oschina.net/134596/blog/1807411