摘要:STL hash table, Unordered ContainC++11加入使用hash table实现的Unordered Containers。容器中元素是不排序的,同时我们也不能指定某个元素的位置。头文件:#include unordered_set; unordered_multise...
阅读全文
摘要:STL源码之vector1. SGI的vectorSGI stl vector继承子一个基类:template > class vector : protected _Vector_base在基类中定义了基本的一些操作,并且封装了了vector所需要的基本的三个指针:struct _Vector_...
阅读全文
摘要:STL函数对象和Lambda表达式1.基本概念Function object是定义了operator()的object。FunctionObjectType fo;fo(…);调用函数对象的operator()代替函数fo()的调用。等价于:fo.operator()(…);函数对象的三个好处:(1...
阅读全文
摘要:STL算法之排序算法STL排序算法通常复杂度坏于线性,且必须要random-access Iterators。所以,forward_list, list, associative and unordered contains 不提供随机访问迭代器,这些容器不能用排序算法。但是,forward_lis...
阅读全文
摘要:1. Copying ElementsOutputItercopy(InputIter sourceBeg, InputIter sourceEnd, OutputIter destBeg);OutputItercopy_if(InputIter sourceBeg, InputIter sourc...
阅读全文
摘要:STL源码剖析---根据最新版本的g++4.9.0(支持C++11)的修订(1)空间配置器 源码剖析采用的G++版本为2.91.57版本,是比较老的版本与最新版本4.9.0有某些方面的差别。现在我针对最新版本做一个分析。我下载了最新的gcc-4.9.0的包作为观察对象: 我们#include 时...
阅读全文
摘要:STL Iterator的里里外外(一)?1. Iterator是什么? Iterator是指针的概括物(泛型指针),是可以通过一组通用的接口类似于普通指针那样遍历区间中的所有元素的对象。Iterator是完全抽象的概念:任何行为类似于Iterator的东西就是一个Iterator(例如:指针是数...
阅读全文
摘要:STL对比解说——关联容器1. 概述 关联容器会根据某种准则自动排序容器中元素。operator namespace std { template , //默认使用小于,可以自己提供排序准则 typename Allocator = allocator > ...
阅读全文
摘要:STL对比解说——顺序容器1. 顺序容器种类 (1) array(since TR1, C++11) (2) vector (3) deque (4) list(singly(since C++ 11) and double linked) 注:本文主要讲解:array, vector, ...
阅读全文