当前位置: 首页 > news >正文

new和malloc

newdelete

  • C++ 中的 new 和 delete 分别用来分配和释放内存,它们与C语言中 malloc()、free() 最大的一个不同之处在于:用 new 分配内存时会调用构造函数,用 delete 释放内存时会调用析构函数。构造函数和析构函数对于类来说是不可或缺的,所以在C++中我们非常鼓励使用 new 和 delete。

 

new[]new的却别

new []用于分配连续的一端空间

new用以分配吗一个存储单元的空间(具体看数据类型)

 

delete[]delete区别

delete[]用于删除连续的一端空间

delete用以删除一个存储单元的空间(具体看数据类型),后面的没删除干净。

 

newmalloc比较:

1new是运算符,malloc是函数

2new根据数据类型自动决定大小,而malloc要计算

3new返回指向此类型的指针,而mallco返回void * 因此要强制类型转换

4new是一个分配内存并且初始化的过程如 char *p=new char('a');

malloc仅仅是一个函数,没有初始化的过程,需要程序员自己手动初始化。

 

 

 

相关文章:

  • static和const
  • 友元函数
  • 函数模板定义
  • 类模板定义+用类模板写一个入栈出栈的程序
  • 模板的全特化与偏特化
  • cout
  • cin
  • C++文件输入输出流+输入输出二进制文件(自定义对象)
  • 多态定义
  • 函数重载/遮蔽/隐藏
  • 纯虚函数和抽象类
  • 应用程序主窗体
  • 串口通讯中出现的错误(1)
  • 鼠标事件(鼠标的各种处理事件)
  • 键盘事件(按下CTRL+M 最大化窗口)
  • [ JavaScript ] 数据结构与算法 —— 链表
  • android百种动画侧滑库、步骤视图、TextView效果、社交、搜房、K线图等源码
  • Docker 笔记(2):Dockerfile
  • ES10 特性的完整指南
  • JSONP原理
  • JS学习笔记——闭包
  • js正则,这点儿就够用了
  • Octave 入门
  • Python 反序列化安全问题(二)
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • Sass Day-01
  • SpriteKit 技巧之添加背景图片
  • Vue2.0 实现互斥
  • vue-router 实现分析
  • Vue小说阅读器(仿追书神器)
  • Wamp集成环境 添加PHP的新版本
  • 对象引论
  • 给自己的博客网站加上酷炫的初音未来音乐游戏?
  • 京东美团研发面经
  • 爬虫模拟登陆 SegmentFault
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 如何用vue打造一个移动端音乐播放器
  • 使用putty远程连接linux
  • 用element的upload组件实现多图片上传和压缩
  • 在Mac OS X上安装 Ruby运行环境
  • LevelDB 入门 —— 全面了解 LevelDB 的功能特性
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • #pragma once与条件编译
  • $.ajax,axios,fetch三种ajax请求的区别
  • $.type 怎么精确判断对象类型的 --(源码学习2)
  • (非本人原创)我们工作到底是为了什么?​——HP大中华区总裁孙振耀退休感言(r4笔记第60天)...
  • (附程序)AD采集中的10种经典软件滤波程序优缺点分析
  • (一)kafka实战——kafka源码编译启动
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • (转载)(官方)UE4--图像编程----着色器开发
  • .“空心村”成因分析及解决对策122344
  • .htaccess配置重写url引擎
  • .NET Core 中的路径问题
  • .NET Core/Framework 创建委托以大幅度提高反射调用的性能