
C++
supermanwg
这个作者很懒,什么都没留下…
展开
-
C++内存管理(一)介绍
C++与JAVA,python等面向对象语言的一个重要的区别是需要程序员自己管理内存的分配。 也就意味着new出来的对象必须要由程序员负责在特别的场景下delete掉,否则就会造成内存泄露。 C++中对于对象的分配应该遵守以下原则:1 new和delete成对出现2 在new一个对象之后,到delete这个对象之前,尽可能中间不要再new其它对象,可以有效避免内存空洞3原创 2012-05-25 00:36:56 · 699 阅读 · 0 评论 -
写得用于比较的函数对象模板
#include "bdc_share_ptr.hpp"template class ItemCompareById{ typedef boost::shared_ptr p_ITEMTYPE_T; public: explicit ItemCompareById(IDTYPE id, GETIDFUN dun); ItemCompareById(c原创 2012-08-17 13:39:01 · 1503 阅读 · 0 评论 -
使用boost库来计算文件夹的大小
#include #include #include #include #include namespacefs = boost::filesystem;boost::uintmax_t dir_size(constfs::path &p){ returnstd::accumulate( boost::make_transform_ite转载 2013-01-06 00:33:20 · 5489 阅读 · 0 评论 -
boost any
Boost.AnyAny库支持类型安全地存储和获取任意类型的值。当你需要一个可变的类型时,有三种可能的解决方案:无限制的类型,如 void*. 这种方法不可能是类型安全的,应该象逃避灾难一样避免它。可变的类型,即支持多种类型的存储和获取的类型。支持转换的类型,如字符串类型与整数类型之间的转换。Any实现了第二种方案,一个基于值的可变化的类型,无限可能的类型。这个转载 2013-04-19 00:31:11 · 1108 阅读 · 0 评论