首页 > 编程语言 >C++——new和malloc的区别

C++——new和malloc的区别

时间:2022-10-28 20:55:54浏览次数:52  
标签:malloc 调用 C++ 析构 new 构造函数

  1. new是关键字/操作符,而malloc是函数

  2. new一个对象的时候,不但分配内存,而且还会调用类的构造函数(当然如果类没有构造函数,系统也没有给类生成构造函数,那没法调用构造函数了)

  3. 在某些情况下,“A *pa = new A()”可以把对象某些成员变量(如m_i)设置为0,这是new的能力之一,malloc没这个能力

同理,delete与free的区别也就比较明显:delete不但释放内存,而且在释放内存之前会调用类的析构函数(当然必须要类的析构函数存在)

标签:malloc,调用,C++,析构,new,构造函数
From: https://www.cnblogs.com/dh2021/p/16837446.html

相关文章