
STL
曼哈顿
这个作者很懒,什么都没留下…
展开
-
SGI STL中string的源码解读(1)
STL中string的源码解读 Ryan pengcutezero@163.comSunday, June 03, 2007 这是个人最近比较闲暇之余,对SGI STL中string分析,如果有任何理解错误,请和我联系,谢谢! 为什么要分析string呢?我们知道大多数的编译器实现的string都各不相同(即便是同一个编译厂商在不同的版本string的实现也不一样,转载 2013-11-26 22:10:26 · 1833 阅读 · 0 评论 -
SGI STL中string的源码解读(4)
10. reserve和resize函数reserve函数:reserve(size_type __res){if (__res != this->capacity() || _M_rep()->_M_is_shared()){if (__res > this->max_size())__throw_length_error(__N("basic_s转载 2013-11-26 22:17:17 · 1574 阅读 · 0 评论 -
SGI STL中string的源码解读(2)
5. Basic_string的构造函数和析构函数在看Basic_string构造函数之前先看一下string中对应的成员变量。在basic_string中直接用Alloc_hider定义一个数据成员mDataPlus(即对应char* mPointer)。其实mPointer就是上面图中__P所指的位置。SGI STL重载了众多的构造函数,分别如下:构造函数用到的一个重要函数_S_c转载 2013-11-26 22:14:14 · 1505 阅读 · 0 评论 -
SGI STL中string的源码解读(3)
7. replace函数replace函数是basic_string中一个最重要的函数,很多操作都是直接/间接通过replace完成,包括insert,erase,assignment等等。Repalce函数在basic_string中有多个重载的形式。下面开始分析repalce函数。由于repalce函数调用了其他的函数,还是现从被调用的函数开始出发。在下面的描述中,转载 2013-11-26 22:16:16 · 3090 阅读 · 0 评论