1.malloc和free是标准C库函数,只分配内存,不包含对象的构造和析构函数,所以无法进行重载。
2.new和delete是运算符,是为了在栈上分配空间,并执行分配对象的构造函数和析构函数,所以可以重载。
总结:malloc
和 new
有不同的行为和目的,malloc
只分配内存,而 new
分配内存并初始化对象。由于它们的不同,new
可以重载以支持更多的语法和自定义行为,而 malloc
不支持重载,因为它只关注内存分配。
1.malloc和free是标准C库函数,只分配内存,不包含对象的构造和析构函数,所以无法进行重载。
2.new和delete是运算符,是为了在栈上分配空间,并执行分配对象的构造函数和析构函数,所以可以重载。
总结:malloc
和 new
有不同的行为和目的,malloc
只分配内存,而 new
分配内存并初始化对象。由于它们的不同,new
可以重载以支持更多的语法和自定义行为,而 malloc
不支持重载,因为它只关注内存分配。