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

专业的网站优化室内设计网上接单

专业的网站优化,室内设计网上接单,珠海网站建设网,房地产交易网站摘要#xff1a;new and delete#xff0c;定位new#xff0c;#xff08;C内存管理的方式#xff09;#xff0c;malloc/free和new/delete的区别#xff0c;内存泄漏 关于内存#xff1a; 栈又叫堆栈——非静态局部变量/函数参数/返回值等等#xff0c;栈是向下增长…摘要new and delete定位newC内存管理的方式malloc/free和new/delete的区别内存泄漏 关于内存  栈又叫堆栈——非静态局部变量/函数参数/返回值等等栈是向下增长的。内存映射段是高效的I/O映射方式用于装载一个共享的动态内存库。用户可使用系统接口创建共享共享内存做进程间通信。目前只需了解一下堆用于程序运行时动态内存分配堆是可以上增长的。数据段——存储全局数据和静态数据。代码段——可执行的代码/只读常量。 1. new/delete——C内存管理的方式 对于内置类型 对于自定义类型 使用示例  2. operator new与operator delete函数 ps.operator new与operator delete函数不是运算符重载函数 new 和 delete 是用户进行动态内存申请和释放的操作符operator new 和 operator delete 是系统提供的全局函数new 在底层调用 operator new全局函数来申请空间delete 在底层通过 operator delete全局函数来释放空间。 operator new 实际也是通过malloc来申请空间operator delete 最终是通过free来释放空间的  1开空间失败抛异常 operator new该函数实际通过malloc来申请空间当malloc申请空间成功时直接返回申请空间失败尝试执行空间不足应对措施如果该应对措施用户设置了则继续申请否则抛异常。 int main() {try{int* p new int[0x7ffffffff];cout hello endl;//开空间失败该语句将不会被执行直接跳转}catch (const exception e){cout e.what() endl;}return 0; } 2显式调用 Type* p (Type*)operator new(sizeof(Type));//Type* p new Type;operator delete(p);//delete p; 3new 和 delete 不匹配使用的问题 对于内置类型不匹配使用一般不会出什么问题对于自定义类型一定要匹配使用否则结果是未定义的 warning一定要匹配使用new Type[n] → delete[]new → deletemalloc → free。  3. 定位 new 定位new 表达式是在已分配的原始内存空间中调用构造函数初始化一个对象。 class A { public:A(const int a):_a(a){} private:int _a; };int main() {A* pst (A*)operator new(sizeof(A));//开空间但不初始化new(pst)A(0);//调用构造函数初始化pst-~A();//析构函数可以显式调用return 0; } 使用new (place_address) type or new (place_address) type(initializer-list)  内存池 ps.构造函数不可以直接显式调用 定位new表达式在实际中一般是配合内存池使用。因为内存池分配出的内存没有初始化所以如果是自定义类型的对象需要通过使用new的定义表达式调用构造函数进行初始化。 4. malloc/free和new/delete的区别 ①malloc/free是函数new/delete是操作符②malloc的返回值为void*, 在使用时必须强转new不需要③malloc申请空间时需要手动计算空间大小并传递new只需在其后跟上空间的类型即可 如果是多个对象[]中指定对象个数即可④initializermalloc申请的空间不会 初始化 new可以初始化⑤failmalloc申请空间 失败 时返回的是NULL因此使用时必须判空new不需要但是new需 要捕获异常⑥call申请自定义类型对象时malloc/free只会开辟空间不会 调用 构造函数与析构函数而new 在申请空间后会调用构造函数完成对象的初始化delete在释放空间前会调用析构函数完成 空间中资源的清理 5. 内存泄漏 什么是内存泄漏内存泄漏指因为疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并不是指内存在物理上的消失而是应用程序分配某段内存后因为设计错误失去了对该段内存的控制因而造成了内存的浪费。 普通程序内存泄漏问题不大进程结束会自动清理。但是对于长期运行的程序影响很大如操作系统、后台服务等等内存泄漏会导致响应越来越慢最终卡死。 END
http://www.zqtcl.cn/news/118433/

相关文章:

  • 南宁月嫂网站建设财经直播的网站开发一个多少钱
  • 宁波网站的建设百度网盟推广 网站
  • 大连城乡建设局网站青岛网站建设外贸
  • 石家庄网站建设招聘珠海快速网站建设
  • 网站建设代理ai制作网页
  • 微网站平台怎样做网站wordpress侧栏跟随
  • 手机网站建设好吗湖南省专业建设公司网站的机构
  • 网站代码 字体好用的cms网站
  • 美食网站首页设计用手机怎么看自己做的网站
  • 平台类网站开发怎样做永久网站二维码
  • 网站开发客户挖掘php网站开发心得3500字
  • 检察院做网站的目的青岛网站推广优化
  • dede替换网站模板定制网站建设的流程
  • 天津专业网站制作网站开发模板
  • 做二手车网站需要什么怎样建立门户网站
  • 宁波做网站首荐荣盛网络网站建设太仓
  • 购物网站公司要花费多少钱wordpress 菜单 字体加粗
  • 网站模板如何编辑软件crm免费客户管理系统
  • 微信制作网站设计重庆关键词优化软件
  • 网站的设计与应用论文平台推广计划书模板范文
  • 网站备案用户名忘了怎么办网站做301排名会掉
  • 厦门制作网站企业网站子域名怎么做
  • 青岛微网站开发品牌建设青之见
  • 淄博哪有培训做网站的湖南营销型网站建设企业
  • 动物网站建设深圳最好的营销网站建设公司
  • 各种网站制作陕西建设厅证件查询网站
  • 如何提高一个网站如何做简单网站
  • 游戏网站开发找什么人可建智慧园区设计方案
  • 重庆网站设计公司推荐福州移动网站建设
  • 移动网站功能做网站fjfzwl