当前位置:网站首页>The difference between new and malloc
The difference between new and malloc
2022-07-05 06:50:00 【An embedded enthusiast】
new and malloc The difference between
1、new Allocate memory from free storage ,malloc Allocate memory from the heap . Free storage is C++ be based on new An abstract concept of an operator , Usually through new Operator for memory request , This memory is the free storage area . And heap is an operating system term , It is a special memory maintained by the operating system , For dynamic allocation of program memory . So can a free storage area be a heap ( The problem is equivalent to new Whether memory can be allocated dynamically on the heap ), It depends. operator new Implementation details . Free storage can be more than just a heap , It can also be static storage , It's all up to you operator new Where to allocate memory for objects .
2、new、delete Returns a pointer to a data type ;malloc、free The return is void The pointer .
3、 Use new Operators do not need to specify the size of memory block when applying for memory allocation , The compiler computes itself based on the type information ; Use malloc You need to explicitly indicate the size of memory required .
4、new You can call the constructor of an object , Corresponding delete Call the corresponding destructor ;malloc Just allocate memory ,free Just reclaim memory , Construction and destructors are not executed . stay new When an object , The first call malloc Allocate memory space for objects , And then call the constructor of the object. .delete Will call the object's destructor , And then call free Reclaiming memory .
5、new、delete It's the operator , Can overload ;malloc、free Is the function , Can be rewritten ( Cover ).
边栏推荐
猜你喜欢

Record of problems in ollvm compilation

confidential! Netease employee data analysis internal training course, white whoring! (attach a data package worth 399 yuan)

vsCode创建自己的代码模板

All English in the code

ROS2——工作空间(五)

LSA Type Explanation - detailed explanation of lsa-2 (type II LSA network LSA) and lsa-3 (type III LSA network Summary LSA)

Volcano resource reservation feature

NVM Downloading npm version 6.7.0... Error

Utf8 encoding

Vscode configures the typera editor for MD
随机推荐
Application of recyclerview
[Gaode map POI stepping pit] amap Placesearch cannot be used
Build a microservice cluster environment locally and learn to deploy automatically
睿智的目标检测59——Pytorch Focal loss详解与在YoloV4当中的实现
How to answer when you encounter a jet on CSDN?
Marvell 88E1515 PHY loopback模式测试
Find the combination number acwing 887 Find combination number III
Find the combination number acwing 889 01 sequence meeting conditions
ROS2——配置开发环境(五)
UTC, GPS time and Tai
A brief introduction to heading/pitch/roll and omega/phi/kappa
Marvell 88e1515 PHY loopback mode test
时间很快,请多做有意义的事情
GDB code debugging
MQClientException: No route info of this topic: type_ topic
【高德地图POI踩坑】AMap.PlaceSearch无法使用
Huawei bracelet, how to add medicine reminder?
Positive height system
.net core踩坑实践
Skywalking all