对于模板编程, 有一个很实用的设计在STL中非常常见: 特化(Specialization), 相对普通的模板编程叫做泛化, 特化又可以细分为全特化和偏特化, 这种写法使得我们能保留泛化函数的通用性的情况下...全特化是在定义了普通的泛化模板类之后, 额外写一个相同模板定义但是指明所有模板参数的类型, 只保留空的template....分配器allocator是对malloc和free更深层次的包装, 目的是对内存能有更好的分配机制, 尽量减少分配内存时的额外消耗(overhead). allocator的核心函数是包装了malloc...这里注意对于const T*, 尽管指针是常量指针, 但是由于大多数时候使用迭代器就是对数据有修改的需求, 因此在萃取包装的时候返回是元素类型value_type去掉了const限制符, 否则这个返回类型就意义不大了...通常来说KeyOfValue是用仿函数identity()实现的, 这个是所谓的证同函数, 就是一个单纯返回输入的值的特殊设计, 与此同时还有类似只返回第一参数, 只返回第二参数等其它仿函数以供不同使用