为什么没有在malloc中调用构造函数?

Sar*_*fan -1 c++

为什么构造/析构函数不是在使用所谓的mallocfree在C++中,而不是当我们使用newdelete,构造函数/析构函数被调用?为什么会这样?

T.J*_*der 6

mallocfree纯粹的内存管理功能,他们不知道什么类(和长期存在的前C++).它们是低级别的内存操作.

C++向C添加了类,并作为该过程的一部分,添加newdelete创建和销毁类的实例.这与低级内存管理不同.


jua*_*nza 5

malloc是一个在构造函数之前的C函数.free是一个C函数,它可以在析构函数之前进行排序.它们都是必须在没有构造函数和析构函数的语言中运行的C函数.

  • @SarahIrfan:*"当我们使用malloc(对于一个类)时,会创建一个类的新对象"*不,它不是.可以分配相关大小的存储器,但是尚未创建对象. (2认同)