malloc()、free()和new()、delete()的不同点

1.malloc和free是标准C库函数,只分配内存,不包含对象的构造和析构函数,所以无法进行重载。

2.new和delete是运算符,是为了在栈上分配空间,并执行分配对象的构造函数和析构函数,所以可以重载。

总结:mallocnew 有不同的行为和目的,malloc 只分配内存,而 new 分配内存并初始化对象。由于它们的不同,new 可以重载以支持更多的语法和自定义行为,而 malloc 不支持重载,因为它只关注内存分配。

你可能感兴趣的:(c++)