04 2015 档案

摘要:Boost 是一个社群,也是一个网站。致力于免费、源码开放、同僚复审的C++ 程序库开发。Boost 在C++ 标准化过程中扮演深具影响力的角色。 Boost 提供许多TR1 组件实现品,以及其他许多程序库。 http://boost.org 阅读全文
posted @ 2015-04-04 22:28 智者无惧 阅读(110) 评论(0) 推荐(0)
摘要:C++ 标准程序库的主要机能由STL、iostream、locales 组成。并包含C99 标准程序库。 TR1 添加了只能指针(例如 tr1::shared_ptr)、一般化函数指针(tr1::fuction)、hash-based 容器、正则表达式(regular expressions) 以及 阅读全文
posted @ 2015-04-04 22:26 智者无惧 阅读(141) 评论(0) 推荐(0)
摘要:严肃对待编译器发出的警告信息。努力在你的编译器的最高(最严苛)警告级别下争取“无任何警告”的荣誉。 不要过度依赖编译器的报警能力,因为不同的编译器对待事情的态度并不相同。一旦移植到另一个编译器上,你元本年依赖的警告信息有可能消失。 阅读全文
posted @ 2015-04-04 22:21 智者无惧 阅读(99) 评论(0) 推荐(0)
摘要:当你写一个placement operator new ,请确定也写出了对应的placement operator delete。如果没有这样做,你的程序可能会发生隐微而时断时续的内存泄漏。 当你声明placement new 和 placement delete,请确定不要(非故意)地遮掩了它们的 阅读全文
posted @ 2015-04-03 21:59 智者无惧 阅读(122) 评论(0) 推荐(0)
摘要:operator new 应该内含一个无穷循环,并在其中尝试分配内存,如果它无法满足内存需求,就该调用new-handler。它也应该有能力处理0 bytes 申请。Class专属版本则还应该处理“比正确大小更大的(错误)申请”。 operator delete 应该在收到null指针时不做任何事。 阅读全文
posted @ 2015-04-02 22:29 智者无惧 阅读(97) 评论(0) 推荐(0)
摘要:有许多理由需要写个自定的new 和delete ,包括改善效能、对heap 运用错误进行调试、收集heap 使用信息。 阅读全文
posted @ 2015-04-02 11:41 智者无惧 阅读(119) 评论(0) 推荐(0)