Post on: 2024-9-2Last edited: 2024-9-2Words 00 min

type
status
date
slug
summary
tags
category
icon
password
 
  • new是c++的关键字,可以直接调用
malloc是标准库中的一个函数
  • new在内存分配成功时,返回的是对象类型的指针(new是符合类型安全性的操作符)
malloc内存分配成功则是返回void*,需要通过强制类型转换将void*指针转换成对象类型的指针
  • new内存分配失败时,会抛出bac_alloc异常
malloc分配内存失败时返回NULL
  • malloc:申请空间需要显式填入申请内存的大小;
new:无需显式填入申请的内存大小,new会根据new的类型分配内存。
  • C++中new和delete符号是可以重载的
而malloc和free是C里的库函数,无法对其进行重载
 
特征
new/delete
malloc/free
分配内存的位置
自由存储区
内存分配失败
抛出异常
返回NULL
分配内存的大小
编译器根据类型计算得出
显式指定字节数
处理数组
有处理数组的new版本new[]
需要用户计算数组的大小后进行内存分配
已分配内存的扩张
不支持
使用realloc完成
分配内存时内存不足
可以指定处理函数或重新制定分配器
无法通过用户代码进行处理
是否可以重载
可以
不可以
构造函数与析构函数
调用
不调用
 

初识rsa加密

🗒️初识rsa加密


DOS调试

🗒️DOS调试

DOS调试