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

重庆工程造价信息期刊seo分析与优化实训心得

重庆工程造价信息期刊,seo分析与优化实训心得,做网站植入广告赚钱,长沙网站优化公司new/delete 与 malloc/free 的区别? 分配内存的位置 malloc是从堆上动态分配内存new是从自由存储区为对象动态分配内存。自由存储区的位置取决于operator new的实现。自由存储区不仅可以为堆,还可以是静态存储区,这都看operator new在哪里为…

new/delete 与 malloc/free 的区别?

  1. 分配内存的位置
    1. malloc是从上动态分配内存
    2. new是从自由存储区为对象动态分配内存。自由存储区的位置取决于operator new的实现。自由存储区不仅可以为堆,还可以是静态存储区,这都看operator new在哪里为对象分配内存
  2. 是否可以被重载
    1. opeartor new 、operator delete 可以被重载
    2. malloc、free则不能重载
  3. 内存分配
    1. malloc内存分配成功后返回void*,然后再强制类型转换为需要的类型
      1. malloc内存分配失败后返回 NULL
    2. new操作符分配内存成功后返回与对象类型相匹配的指针类型;因此new是符合类型安全的操作符
      1. new分配内存失败则会抛异常 std::bad_alloc
      2. 如果加上std::nothrow关键字`,UserInfo* info = new (std::nothrow) UserInfo; // new 就不会抛出异常而是会返回空指针
  4. 分配内存的大小的计算
    1. 使用new操作符申请内存分配时无须指定内存块的大小,编译器会根据类型信息自行计算
    2. malloc则需要显式地指出所需内存的尺寸
  5. 使用场景
    1. new/delete 适用于C++对象,它们会自动处理对象的构造和析构。
    2. malloc/free 更通用,可以在C++中使用,也可以在C中使用,但需要手动管理对象的构造和析构。
// 使用 malloc 分配内存 并 强制类型转换
UserInfo* user = static_cast<UserInfo*>(malloc(sizeof(UserInfo)));// 构造对象
new (user) UserInfo("Alice", 25);// 使用对象指针调用成员函数
std::cout << "User's age: " << user->getAge() << std::endl;// 手动调用析构函数
user->~UserInfo();// 释放内存
free(user);
http://www.laogonggong.com/news/49185.html

相关文章:

  • 破解WordPress站点竞价恶意点击报案
  • 网站的商桥怎么做世界球队最新排名
  • 个人网站备案麻烦吗刷神马网站优化排名
  • 新闻网站开发的目的百度云超级会员试用1天
  • 做一网站要学些什么软件站长工具关键词排名怎么查
  • 做网站不给源代码2023年适合小学生的新闻有哪些
  • 选择做印象绍兴网站的原因百度一下就会知道了
  • 用vuejs做网站迅雷磁力链bt磁力天堂
  • 外贸模版网站网站seo重庆
  • 亚马逊网站建设进度计划书酒店线上推广方案有哪些
  • 网站制作咨产品营销策划方案
  • 竞价培训课程seo优化咨询
  • 做动态网站时测试服务器不成功房地产销售怎么找客户
  • 静态网页设计网站制作网店推广的渠道有哪些
  • 高端网站建设公司价格it培训课程
  • 网站开发融资计划搜索引擎营销策略有哪些
  • jsp网站建设论文百度seo官方网站
  • 阿里巴巴做网站难吗营销方案
  • 天津网站建设制作免费发布推广信息的网站
  • 焦作网站开发公司什么是百度竞价排名
  • 老虎机网站制作百度人工服务热线
  • 徐州最好网站建设如何自己建个网站
  • 个人备案的网站做企业内容seo基础理论
  • wordpress靶机下载网站营销推广策略
  • 网站备案链接互联网营销师考试题库
  • 网站怎么做跳转页面推广神器
  • 广东网站建设公司链接买卖是什么意思
  • 要给公司做一个网站怎么做的吗在百度上怎么卖自己的产品
  • 博望网站建设新乡seo优化
  • 做网站用什么浏览器最好seo1现在怎么看不了