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

广州比较好的网站建设哪家好/外贸平台自建站

广州比较好的网站建设哪家好,外贸平台自建站,公司网站开源,定制摄影app和摄影网站的区别文章目录程序区域内存划分C语言动态内存分配:new和delete:new、delete和malloc、free的区别:程序区域内存划分 C/C程序内存区域划分非常相似。 C语言动态内存分配: malloc、calloc、realloc都是C语言动态开辟内存的常用函数 其中 malloc 开…

文章目录

  • 程序区域内存划分
  • C语言动态内存分配:
  • new和delete:
  • new、delete和malloc、free的区别:

程序区域内存划分

C/C++程序内存区域划分非常相似。
在这里插入图片描述


C语言动态内存分配:

malloc、calloc、realloc都是C语言动态开辟内存的常用函数
其中 malloc 开辟一块空间,不会对这块空间进行初始化,而calloc会初始化这块空间为0,realloc则在需要扩充空间时使用。


operator new和operator delete:
new和delete是用户进行动态内存申请和释放的操作符,operator new 和operator delete是系统提供的全局函数,new在底层调用operator new全局函数来申请空间,delete在底层通过operator delete全局函数来释放空间。

而operator new 和 operator delete 底层依然是调用malloc和free实现的。


new和delete:

对于内置类型
new和malloc,delete和free基本类似,不同的地方是:
new/delete申请和释放的是单个元素的空间,new[]和delete[]申请的是连续空间,而且new在申请空间失败时会抛异常,malloc会返回NULL。

除此之外new可以在申请空间后赋值。

int* p1 = new int;
int* p2 = new int(2);//赋值
int* p3 = new int[3];
int* p4 = new int[3]{1,2,3};//赋值

对于自定义类型

  • new
    1、先调用operator new申请一块空间
    2、调用构造函数初始化
  • delete
    1、先调用析构函数完成对象内空间释放
    2、调用operator delete删除对象
  • new[]
    1、先调用operator new[] 实际调用operator new完成N次对象空间的申请
    2、调用N次构造函数初始化
  • delete[]
    1、先调用N次析构函数完成对象内空间释放,完成对象空间内资源的释放
    2、调用operator delete[]实际上调用operator delete删除N个对象

定位new表达式:

格式:new (指针) type(初始化列表)
type指对象的类型

定位new表达式在实际中一般是配合内存池使用。因为内存池分配出的内存没有初始化,所以如果是自定义类型的对象,需要使用new的定义表达式进行显示调构造函数进行初始化。

int main()
{A* p1 = (A*)malloc(sizeof(A));new(p1)A(1);// 注意:如果A类的构造函数有参数时,此处需要传参p1->~A();free(p1);
}

new、delete和malloc、free的区别:

1、new能初始化,malloc不行
2、new/delete是操作符,而malloc/free是函数
3、new申请空间不需要计算大小,malloc需要手动计算
4、new后跟空间类型,不需要强制类型转换,malloc需要
5、new失败后需要捕获异常,malloc失败返回NULL
6、new/delete会调用构造函数/析构函数完成初始化/对象空间资源清理,而malloc不会。

http://www.jmfq.cn/news/5011813.html

相关文章:

  • 服装网站建设目标/优化大师好用吗
  • 网站做项目/seo基础视频教程
  • 如何建设管理好法院网站/百度主页网址
  • 制作网站能赚钱吗/百度引流免费推广怎么做
  • 怎么做简单网站/郑州seo哪家好
  • 网站开发建设合同/百度关键词怎么设置
  • dedecms企业网站模板/百度一下你就知道主页
  • 黄浦专业做网站/网站监测
  • 一个公司做两个网站的好处/seo排名优化北京
  • 网站关键词搜索排名怎么做/天机seo
  • 台州网站设计开发/广告网站有哪些
  • 教做潮男的网站/什么网站可以免费推广
  • ftp和网站后台/什么是搜索引擎推广
  • 公司域名备案网站名称/聊石家庄seo
  • 购物网站开发技术/东莞seo建站公司
  • 建站平台做的网站google/一网信息一个简单便捷的新闻网站
  • 潍坊地区制作网站/天津网站制作系统
  • 可以做网站背景音乐的英文歌曲/什么是百度指数
  • 个人网站设计要求/seo模拟点击算法
  • vs 2015 网站开发/市场营销教材电子版
  • wordpress做社区网站/北京网站优化服务
  • 郑州比较好的设计公司/深圳做seo有哪些公司
  • 有没有专门做纸箱的网站/今日头条网站推广
  • 长沙网开亿面做网站多少钱/长春seo排名公司
  • 苍南网站建设/爱战网关键词查询网站
  • 临漳网站建设/推广平台开户代理
  • 网站开发语言查询/网站技术解决方案
  • 昆明疫情最新情况今天/seo营销优化软件
  • 河南专业网站建设/seo公司系统
  • 做网站要交百分七十定金/今日头条热搜榜