new
文章平均质量分 65
阿华Go
做一个有责任心有上进心的汉子,我要肩负起守护家人的重任!!!
展开
-
C++之成对使用的new和delete时采取相同形式(16)---《Effective C++》
条款16:成对使用new和delete时候采取相同形式成对使用的new和delete需要采用相同的形式,可以先看如下代码:std::string* stringArray=new std::string[100];...delete stringArray;这样会发生什么问题呢?对了,程序行为定义并不明确,stringArray所含的100个string对象中的99个不太可能被适当的删除,因为他原创 2017-07-20 23:41:50 · 361 阅读 · 0 评论 -
C++之写了placement new也要写placement delete(52)---《Effective C++》
条款52:写了placement new也要写palcement delete这篇博客明天再更啦!!!总结: 1)当你写了一个placement operator new,请确定也谢了对应的placement operator delete,如果没有这样做,程序可能会发生隐蔽而时断时续的内存泄漏; 2)当你声明了placement new和placement delete,请确定不要无意识地遮掩原创 2017-08-15 21:41:38 · 307 阅读 · 0 评论 -
C++之了解new和delete的合理替换时机(50)---《Effective C++》
条款50:了解new和delete的合理替换时机为什么我们还想要替换掉编译器提供的operator new或者operator delete呢?下面给出三个常见理由: 1)用来检测运用上的错误:如果将“new所得内存”delete掉却不幸失败,会导致内存泄漏;如果在“new所得内存”上面多次进行delete便会导致不确定的行为;如果operator new持有一系列动态分配所得地址,operat原创 2017-08-15 20:43:11 · 319 阅读 · 0 评论 -
C++之编写new和delete时需要固守常规(51)---《Effective C++》
条款51:编写new和delete时需固守常规operator new中包含一个无限循环,而上述伪码明白表达出这个循环;“while(true)”就是那个无限循环,退出循环的唯一方法是:内存被成功分配或者new_hanlder从条款49的多个选择中选出一种进行选择,选择包括:让更多内存可用、安装另一个new_handler、卸载new_handler、抛出bad_alloc异常或者承认失败或者直接r原创 2017-08-15 21:28:20 · 393 阅读 · 0 评论 -
C++之理解不同含义的new和delete(6)---《More Effective C++》
C++语言中很多问题都是非常细小的,例如new操作符(new operator)和new 操作(operator new)的区别:注意: 我们生成的placement delete版本什么时候使用呢?注意一下哈!只要在placement new抛出异常时候,编译器才会调用placement delete版本,这个时候因为构造失败,所以需要释放内存。其他情况下如果我们想要使用placement de原创 2017-08-31 16:47:40 · 321 阅读 · 0 评论