- 博客(8)
- 资源 (6)
- 收藏
- 关注
原创 templates — C++模板的应用<奇特的递归模板模式>
奇特的递归模板模式(CRTP)这个奇特的名字代表了类实现技术中一种通用的模式,即派生类将本身作为模板参数传递给基类; CRTP的一个简单的应用是记录某个类的对象构造的总个数。数对象个数很简单,只需引入一个整数类型的静态数据成分,分别在构造与析构中进行递增与递减操作,不过,要在每个类中都这么写非常繁琐,有了CRTP,我们可以写入一个模板来实现; 实例代码: #include #include
2012-12-30 11:27:10 588
原创 设计模式—ADAPTER 适配器模式
ADAPTER 适配器模式 在 GoF 的经典著作《设计模式》中指出: Adapter 模式的目的就是将类的接口转换成客户对象需要的接口, Adapter 模式使原本不相容的接口变的相容。也就是说我们有一个可以满足我们需要的对象,但是她的接口却不是象我们所期望的那样,而我们现在所需要的就是创建一个新的接口,让原本的接口能够满足我们的需要。 适用性 1:你想适用一个已经存在的类,而它的接口
2012-12-27 13:37:08 458
原创 函数指针与成员函数指针-C++委托
函数指针与成员函数指针-C++委托 函数指针的实现很简单,它们只是“代码指针(code pointer)”,它们体现在汇编语言中是用来保存子程序代码的首地址,而这种函数指针的存在只是为了保证使用了正确的调用规范。标准C++中没有真正的面向对象的函数指针。这一点对C++来说是不幸的,因为面向对象的指针(也叫做“闭包(closure)”或“委托(delegate)”)在一些语言中已经证明了它宝贵的价
2012-12-17 08:45:01 424
原创 C++实现生产guid唯一号应用于日常程序文件
C++实现生产guid唯一号 在日常软件开发中,我们经常需要一个唯一标识来标识一个对象或编码文件,下面是C++实现的方法,其中 sgi_log_t.h头文件定义在log4cplus应用 -日志管理类接口文章中有说明,为了更好的记录生产的guid; #include "stdafx.h" #include #include #include "sgi_log_t.h" using n
2012-11-29 11:10:23 884
原创 log4cpp应用 -日志管理类接口
log4cpp应用 -日志管理类接口 基于log4cpp开源项目,实现一个日志记录类接口,可以在日常软件开发中节省时间以及分析问题 该接口支持文件记录 、 支持终端流输出、支持调试输出记录,以及优先级设置,我应用的版本为 log4cpp-1.1rc3.tar.gz,大家可以在官方http://log4cpp.sourceforge.net/下载最新的版本源码 编译,我选择是在VS200
2012-11-22 14:49:12 849
原创 windows下ffmpeg编译+codeblock+msys
1:http://ffmpeg.org/官方网站下载ffmpeg源码,这里的版本是ffmpeg-1.0.tar.bz2。 2:http://code.google.com/p/msys-cn/wiki/ChapterInstallation/官方网站下载msys + mingw,MSYS-Update.7z。 3:http://www.codeblocks.org/官方网站下载codebl
2012-11-14 14:18:49 1590
原创 LINUX 下BOOST完整编译与安装
linux环境下完整对Boost进行完整编译,生成所有调试版、发行版的静态库和动态库 1:下载boost源码包(http://www.boost.org/) 我用的版本是boost_1_50_0.tar.gz; 2:解压源码包,目录为/usr/share/boost目录下; 3:$ cd /usr/share/boost 进入boost目录 $ ./bootstrap.sh;
2012-10-31 11:50:49 701
原创 迭代器配接器
标准库里的三种迭代器配接器[Iterator Adapters],C++标准库中这三种迭代器起到辅助作用。 1: Insert Iterator 安插型迭代器 该跌代器可以是算法以插入的方式而非覆写的方式,使用它可以解决空间问题不足的问题; List coll; for(int i=1; i<=9; ++i) coll.push_back(i); ve
2012-08-17 13:56:04 449
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人