C++中的new和malloc的区别
区别如下:
- new会先调用malloc分配内存,并调用类的构造函数创建对象
- malloc只是分配内存,不调用类的构造函数创建对象
- delete会执行类的析构函数销毁对象,然后调用free释放内存空间
- free只会释放内存,不会调用类的析构函数销毁对象
实例如下:
```#include <iostream>#include "cstdio"#include "cstdlib"using namespace std;class A{public:A(){printf("A");}};class B{public:private:};int main(){cout << "sizeof(B) = " <<sizeof(B) << endl;A *p1 = new A;delete p1; // 虽然不会崩溃,但是会发生内存泄漏,不是好的编程习惯,所以加上这句A *p2 = (A *)malloc(sizeof(A));free (p2); // 虽然不会崩溃,但是会发生内存泄漏,不是好的编程习惯,所以加上这句return 0;}
```
C++中的new和malloc的区别相关推荐
- 面试中常被问到(六)new/delete和malloc/free区别
new/delete和malloc/free区别 (1)二者都是用来实现动态内存管理,内存空间的开辟(new,malloc)以及内存空间的释放(delete,free) (2)malloc/free是 ...
- HeapAlloc与malloc的区别
malloc是在CRT的内存堆上分配的,这个堆的存在一般来说你是不会关心的 HeapAlloc则不同,你需要给它指定你想从哪个堆上分配,而这个堆是从HeapCreate创建出来的 HeapAlloc大 ...
- C++ new和malloc的区别
这里先对new和delete简单进行一下总结,然后再细说new和malloc的区别. 一.new和delete C语言提供了malloc和free两个系统函数,完成对堆内存的申请和释放.而C++则提供 ...
- c语言malloc引用类型作参数,c语言中动态内存分配malloc只在堆中分配一片内存.doc...
c语言中动态内存分配malloc只在堆中分配一片内存 .C语言中动态内存分配(malloc)只在堆中分配一片内存,返回一个void指针(分配失败则返回0),并没有创建一个对象.使用时需要强制转换成恰当 ...
- new运算符与malloc函数区别
相同点: 都可以进行内存管理. 不同点: 1.new 是c++中的操作符,malloc是c 中的一个函数 2.new 不止是分配内存,而且会调用类的构造函数,同理delete会调用类的析构函数,而ma ...
- C++ | 动态分配内存 new和malloc的区别
01 静态分配内存 通常声明变量都采用"静态分配"的方式,也就是所有变量声明必须在编译阶段完成. 02 动态分配内存--new和delete 动态分配内存是指程序在运行时才提出分配 ...
- sql语句中left join和inner join中的on与where的区别分析
原文:sql语句中left join和inner join中的on与where的区别分析 关于SQL SERVER的表联接查询INNER JOIN .LEFT JOIN和RIGHT JOIN,经常会用 ...
- 无法解析 list 中的方法 iterator_Python-list中的append()和extend()方法区别
一.append()和extend()方法都是用来添加数据到list末尾的,两者的区别: append()添加的时候会把添加的数据当成一个整体进行添加,允许添加任意类型的数据 extend()添加的时 ...
- Python中爬虫框架或模块的区别
Python中爬虫框架或模块的区别,我们在Python的学习过程中,需要不断的总结知识点,这样我们才能进步的更快一些. (1)爬虫框架或模块 Python自带爬虫模块:urllib.urllib2; ...
最新文章
- 图论中的知识点(等待补充和更新)
- 阿里云CentOS7.3搭建多用户私有git服务器(从安装git开始)
- IDEA 正式版终于支持中文版和 JDK 直接下载了(太方便了)附介绍视频
- HTML字符实体大全
- html 前端传入后台为object_浅谈Object.defineProperty()
- String.GetEnumerator 方法的C#例子
- 达芬奇DaVinci Resolve Studio Mac v17.4.6
- 实训-利用HTML+CSS制作某米官网首页
- 数据挖掘肿瘤预测_必读|TCGA数据挖掘-肺癌肿瘤免疫浸润分析
- 时间与空间的相对性——思想实验推导狭义相对论(四)
- 计算机组成原理 全加器实验
- 小乌龟git如何同步远程分支_在git远程之间同步分支的过程
- VUE笔记——B站狂神说
- python 开发微信小游戏_教你快速开发一个微信小游戏好友排行榜
- 四六级听力考试高频词汇分类记忆-日常生活类
- 微信企业付款转账到微信
- sonarqube+sonar-scanner+jenkins安装配置及使用
- buct寒假集训——lca
- Paint X for Mac破解教程
- Ubuntu18修改host文件加速访问Github