自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 STL源码分析之Vector

地球人都知道vector的查找效率很高, 插入和删除的效率地下, 容器会随着元素的不断增加自动增长, 最近在看了STL源码之后, 发现确实是这样, 下面是vector一些关键的函数. 从这些函数可以看出插入和删除的过程, 以及容器自动增长的方式.// 两个通过下标获取元素的函数.reference operator[](size_type __n) { return *(begin() + __n); }const_reference operator[](size_type __n) const { re

2011-04-02 00:08:00 1229

原创 模版特化

<br />最近在看STL源代码时候发现很多东西值得学习, 需要不断消化, 应用在平时项目中, 一个简单的模版萃取方法, 在STL里面应用也很广.<br /> <br />#include <iostream><br />using namespace std;<br />template <class T><br />struct Traits<br />{<br />  typedef T type_name;<br />};<br />template <class T> struct Traits<

2011-03-30 22:34:00 256

原创 函数对象和模版实现责任链模式

<br />最近闲着没事, 整理原来代码时候发现用函数对象加上模版实现责任链模式的方法很值得温习, 重新理了一下, 整个过程如下:<br /> <br />测试结果:<br />[jackhuang@bogon chain]$ ./test <br />[main.cc:main:79] INFO: Test begin!<br />[chain.cc:registerNewHandler:18] INFO: handler = TestClass1 successfully added, register

2011-03-28 23:03:00 388

原创 对象虚函数的获取方法

#include #include using namespace std;class TestClass{public:  virtual void print1()   {    cout   }  virtual void print2()  {    cout   }  void print3()  {    cout   }};typedef void (*FUNC) ();int main(int argc __attribute__((unused)), char *argv[] __attr

2011-03-27 22:42:00 348

原创 strtok与strtok_r源码

strtok与strtok_r是字符串操作经常会用到的两个函数. 下面是它们的源码. 但是这两个函数都有个缺点, 如果字符串为Test1:Test2::Test3:::Test4:::: 则用::作为分割符号仍然能得到Test1 Test2 Test3 Test4四个字符串. 另外由于传入的第一个参数会被修改('/0'), 故使用前需要拷贝原来字符串以备份.char * strtok(char *string, const char * ctrl){  assert(ctrl != NULL);  char

2011-03-26 00:51:00 2121 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除