Talk about new/delete&&malloc/free

###
在C语言中,我们认识到了malloc函数与free函数,这两个函数是有关开辟动态内存的
在之前的博客里,我详细的介绍了动态内存函数;
https://blog.csdn.net/cfk17829572643/article/details/110183105

而C++中,我们也认识到了new和delete,会发现,它俩与前面的两个函数有着
一些相似的地方,但也有着一些不同。

●首先 new/delete是C++的操作符,而malloc/free是C中的函数。!!!
●其次 new不但会分配内存,还会调用类的构造函数;同样的,delete会释放内存
和调用类的析构函数。而malloc和free只是分配和释放内存。

●然后 new建立的是一个对象,而malloc分配的是一块内存;new 建立的对象可以用成员函数
访问,不要直接访问它的地址空间;malloc分配的是一块内存区域,用指针访问,
可以在里面移动指针;new出来的指针是带有类型信息的,而malloc返回的是void 指针。

●最后 new/delete是保留字,不需要头文件支持; malloc/free需要头文件库函数支持。
###



Guess you like

Origin blog.csdn.net/cfk17829572643/article/details/111714983