为什么构造函数不在malloc中调用?
这个问题在这里已经有了答案:
malloc
和free
是纯粹的内存管理功能,他们不知道类的任何内容(并且早在C ++之前就已存在)。 他们是低级别的内存操作。
C ++向C添加了类,并且作为该过程的一部分,添加了new
和delete
来创建和销毁类的实例。 这与低级内存管理不同。
malloc
是一个C函数,它在构造函数之前进行日期。 free
是一个C函数,它在日期解析器之前。 它们都是C函数,它们必须在没有构造函数和析构函数的语言中运行。