- 博客(8)
- 资源 (6)
- 收藏
- 关注
原创 templates — C++模板的应用<奇特的递归模板模式>
奇特的递归模板模式(CRTP)这个奇特的名字代表了类实现技术中一种通用的模式,即派生类将本身作为模板参数传递给基类;CRTP的一个简单的应用是记录某个类的对象构造的总个数。数对象个数很简单,只需引入一个整数类型的静态数据成分,分别在构造与析构中进行递增与递减操作,不过,要在每个类中都这么写非常繁琐,有了CRTP,我们可以写入一个模板来实现;实例代码:#include #include
2012-12-30 11:27:10
668
原创 设计模式—ADAPTER 适配器模式
ADAPTER 适配器模式在 GoF 的经典著作《设计模式》中指出: Adapter 模式的目的就是将类的接口转换成客户对象需要的接口, Adapter 模式使原本不相容的接口变的相容。也就是说我们有一个可以满足我们需要的对象,但是她的接口却不是象我们所期望的那样,而我们现在所需要的就是创建一个新的接口,让原本的接口能够满足我们的需要。适用性1:你想适用一个已经存在的类,而它的接口
2012-12-27 13:37:08
538
原创 函数指针与成员函数指针-C++委托
函数指针与成员函数指针-C++委托函数指针的实现很简单,它们只是“代码指针(code pointer)”,它们体现在汇编语言中是用来保存子程序代码的首地址,而这种函数指针的存在只是为了保证使用了正确的调用规范。标准C++中没有真正的面向对象的函数指针。这一点对C++来说是不幸的,因为面向对象的指针(也叫做“闭包(closure)”或“委托(delegate)”)在一些语言中已经证明了它宝贵的价
2012-12-17 08:45:01
493
原创 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
979
原创 log4cpp应用 -日志管理类接口
log4cpp应用 -日志管理类接口基于log4cpp开源项目,实现一个日志记录类接口,可以在日常软件开发中节省时间以及分析问题该接口支持文件记录 、 支持终端流输出、支持调试输出记录,以及优先级设置,我应用的版本为log4cpp-1.1rc3.tar.gz,大家可以在官方http://log4cpp.sourceforge.net/下载最新的版本源码编译,我选择是在VS200
2012-11-22 14:49:12
934
原创 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
1693
原创 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
836
原创 迭代器配接器
标准库里的三种迭代器配接器[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
519
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅