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

cms网站源码百度平台我的订单查询在哪里

cms网站源码,百度平台我的订单查询在哪里,wordpress迁移数据,云图片手机网站展示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.hkea.cn/news/629906/

相关文章:

  • 做网站前端难吗个人网站
  • 怎么做亚马逊网站百度小说排行榜2020
  • 山东省建设文化传媒有限公司网站网站排名查询工具有哪些
  • 营销型企业网站有哪些网站建设找哪家好
  • 玉环做企业网站任何东西都能搜出来的软件
  • 无锡专业网站建设搜索优化seo
  • 成品软件源码网站大全百度权重10的网站
  • 深圳手机网站建设多少钱外链代发软件
  • 璧山集团网站建设互联网推广营销
  • 平面设计网址推荐全国seo搜索排名优化公司
  • 青岛公路建设集团网站东莞排名优化团队
  • 北京公司响应式网站建设价位太原网站建设开发
  • 龙岩网络诈骗通缉人员优化推广方案
  • 专做海外代购的网站设计案例网
  • 漳州网站设计东莞网站制作模板
  • 制作应用的软件成都排名seo公司
  • 北京专业企业网站建设俄罗斯搜索引擎入口 yandex
  • wordpress 怎么改中文网站推广优化价格
  • 南山做网站公司怎么选择企业seo优化服务
  • 什么 电子商务网站建设与管百度招商加盟
  • 南召微网站开发手机优化大师官方版
  • 营销型网站技术特点网站推广网
  • 龙游县住房和城乡建设局网站百度seo优化方法
  • 深圳方维网站建设设计个人网站
  • wordpress 流量站百度应用
  • ps素材网seo在线工具
  • 岳阳网站开发公司html网站模板免费
  • 怎样用模板做网站优化网站技术
  • 全国新型疫情最新情况长沙网站搭建优化
  • 郑州网站建设规划seo建站教程