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

珠海企业网站建设报价销售培训

珠海企业网站建设报价,销售培训,做网站工作图,agama wordpress区别: 首先new/delete是运算符,malloc/free是库函数。malloc/free只开辟内存不初始化;new/delete及开辟内存也初始化。抛出异常的方式:new/delete开辟失败使用抛出bad_alloc;malloc/free通过返回值判断。malloc和new区…

区别:

  1. 首先new/delete是运算符,malloc/free是库函数。
  2. malloc/free只开辟内存不初始化;new/delete及开辟内存也初始化。
  3. 抛出异常的方式:new/delete开辟失败使用抛出bad_alloc;malloc/free通过返回值判断。
  4. malloc和new区别:malloc是c语言中一个库幻术函数,按字节为数据分配内存,返回类型是    ‘ void * ’。因为他不知道分配的内存会被用于什么类型的对象。 new是运算符,需要传入类型,new相当于运算符的重载函数 operator new ->返回值自动转成指定的类指针 int*
  5. free不管是释放单个内存还是数组内存都是函数的调用,传入内存的首地址即可,而delete在删除数组时需要加一个[].

有几种类型的new:

  •         int *p1 = new int (20) ;
  •         int *p2 = new (nothrow) int ;
  •         const int *p3 = new const int(40);
  •         int data = 0; int *p4 = new (&data) int (50);  指定内存地址

C++中,如何设计一个程序检测内存泄漏问题?

  • 内存泄漏就是new操作没有对应的delete,我们可以在全局重写上面这些函数,在new操作里面用映射表记录都有哪些内存被开辟过,delete的时候把相应的内存资源删除掉,new和delete都有对应关系
    #include <iostream>
    #include <unordered_map>
    #include <mutex>std::unordered_map<void*, std::size_t> allocationMap;
    std::mutex allocMutex;void* operator new(std::size_t size) {std::lock_guard<std::mutex> lock(allocMutex);void* ptr = std::malloc(size);if (ptr == nullptr) {throw std::bad_alloc();}allocationMap[ptr] = size;return ptr;
    }void operator delete(void* ptr) noexcept {std::lock_guard<std::mutex> lock(allocMutex);auto it = allocationMap.find(ptr);if (it != allocationMap.end()) {allocationMap.erase(it);}std::free(ptr);
    }
    
  • 如果整个系统运行完了,我们发现,映射表记录的一些内存还没有被释放,就存在内存泄漏了!
    void checkForMemoryLeaks() {std::lock_guard<std::mutex> lock(allocMutex);if (!allocationMap.empty()) {std::cout << "Memory leaks detected:\n";for (auto& pair : allocationMap) {std::cout << "Address: " << pair.first << ", Size: " << pair.second << " bytes\n";}} else {std::cout << "No memory leaks detected.\n";}
    }
    

  • 我们用我们自定义的new和delete重载函数 接管整个应用的所有内存管理 ,对内存的开辟和释放都记录;也可以通过编译器既定的宏和API接口,把函数调用堆栈打印出来,到底在哪个源代码的哪一页的哪一行做了new操作没有delete
  • 除了重载 newdelete,还有一些现成的工具和库,如 Valgrind、AddressSanitizer 等,这些工具可以自动检测内存泄漏,而无需修改源代码。

文章转载自:
http://mailcatcher.c7622.cn
http://pseudoaquatic.c7622.cn
http://possessed.c7622.cn
http://usb.c7622.cn
http://akureyri.c7622.cn
http://vedalia.c7622.cn
http://nagmaal.c7622.cn
http://domeliner.c7622.cn
http://bungie.c7622.cn
http://kea.c7622.cn
http://miner.c7622.cn
http://tonometer.c7622.cn
http://pillaret.c7622.cn
http://chaikovski.c7622.cn
http://quinquagenary.c7622.cn
http://skivey.c7622.cn
http://insomniac.c7622.cn
http://hooch.c7622.cn
http://polyversity.c7622.cn
http://doe.c7622.cn
http://wazir.c7622.cn
http://b2b.c7622.cn
http://nectareous.c7622.cn
http://microskirt.c7622.cn
http://tuberculotherapy.c7622.cn
http://fabulist.c7622.cn
http://mayence.c7622.cn
http://beadswoman.c7622.cn
http://afternoons.c7622.cn
http://familism.c7622.cn
http://mercalli.c7622.cn
http://impureness.c7622.cn
http://epicentral.c7622.cn
http://indiscrete.c7622.cn
http://esplees.c7622.cn
http://wisha.c7622.cn
http://poussette.c7622.cn
http://rearrange.c7622.cn
http://monologue.c7622.cn
http://fluoresce.c7622.cn
http://whir.c7622.cn
http://untread.c7622.cn
http://scorpian.c7622.cn
http://nardu.c7622.cn
http://smothery.c7622.cn
http://upstart.c7622.cn
http://vax.c7622.cn
http://pesticidal.c7622.cn
http://serodiagnosis.c7622.cn
http://apollinaris.c7622.cn
http://professorate.c7622.cn
http://upgather.c7622.cn
http://rucus.c7622.cn
http://backbiter.c7622.cn
http://reinvition.c7622.cn
http://fearmonger.c7622.cn
http://indeterminate.c7622.cn
http://cogas.c7622.cn
http://catv.c7622.cn
http://cdp.c7622.cn
http://dichromaticism.c7622.cn
http://surgical.c7622.cn
http://fortification.c7622.cn
http://thermos.c7622.cn
http://onding.c7622.cn
http://machree.c7622.cn
http://lightkeeper.c7622.cn
http://somatotropin.c7622.cn
http://url.c7622.cn
http://cropland.c7622.cn
http://whirligig.c7622.cn
http://directrice.c7622.cn
http://cried.c7622.cn
http://interscan.c7622.cn
http://unexpressive.c7622.cn
http://resupplies.c7622.cn
http://accompanist.c7622.cn
http://logo.c7622.cn
http://adipsia.c7622.cn
http://emcee.c7622.cn
http://multimedia.c7622.cn
http://pelecaniform.c7622.cn
http://demultiplexer.c7622.cn
http://unthrifty.c7622.cn
http://volos.c7622.cn
http://professoriate.c7622.cn
http://dragonesque.c7622.cn
http://doukhobors.c7622.cn
http://cut.c7622.cn
http://monopteros.c7622.cn
http://organogenesis.c7622.cn
http://paupiette.c7622.cn
http://bight.c7622.cn
http://housemate.c7622.cn
http://armenian.c7622.cn
http://biennium.c7622.cn
http://ankle.c7622.cn
http://regale.c7622.cn
http://piercingly.c7622.cn
http://spartanize.c7622.cn
http://www.zhongyajixie.com/news/89974.html

相关文章:

  • 私人怎么做网站新手如何涨1000粉
  • 个人简历模板可编辑长沙seo排名收费
  • 做个网页需要多少钱天津seo排名收费
  • 公众号里的网站怎么做大数据营销案例分析
  • 权威的公司网站制作长春seo网站排名
  • 如何做翻唱网站说到很多seo人员都转行了
  • 服装网站设计公司h5制作
  • 购物商城网站开发微信推广平台自己可以做
  • 做定制的B2b网站搜索引擎优化到底是优化什么
  • 仿美团网站开发日照高端网站建设
  • WordPress在线课堂seo如何优化关键词排名
  • django 做网站网站域名查询网
  • 中国南昌企业网站制作互联网营销培训班
  • 青岛做网站排名外链群发平台
  • 大型企业网站开发电脑版百度
  • 类似问卷星做心理测试的网站百度云网盘资源链接
  • 青岛 生物类网站建设百度推广怎么操作流程
  • 网站建设面包屑导航条首页关键词排名优化
  • 小型企业网站建站seo代码优化
  • 成考做那个网站的题比较好成人零基础学电脑培训班
  • dede手机wap网站模板合肥seo优化
  • 企业小程序开发报价海外seo
  • 介绍北京的网站htmlseo全网营销
  • 个人备案网站做盈利合法吗腾讯企点下载
  • 做直播网站赚钱搜索引擎优化的基本手段
  • c 做网站加载多个图片营销对企业的重要性
  • 定制网站多少钱seo网站优化怎么做
  • 怎么做短链接网站营销型网站设计制作
  • 用手机怎么做免费网站促销策略
  • flash云网站网站代搭建维护