GeekBand C++STL第二周笔记
1.模板的全特化
通过 全特化 一个模板,可以对一个特定参数集合自定义当前模板,类模板和函数模板都可以全特化。
2.模板的偏特化
类似于全特化,偏特化也是为了给自定义一个参数集合的模板,但偏特化后的模板需要进一步的实例化才能形成确定的签名。 值得注意的是函数模板不允许偏特化,这一点在 Effective C++: Item 25 中有更详细的讨论。
3.itertor迭代器
vector 和deque提供的是RandomAccessIterator,list提供的是BidirectionalIterator,set和map提供的 iterators是 ForwardIterator
4.Traits
traits是一种特性萃取技术,它在Generic Programming中被广泛运用,常常被用于使不同的类型可以用于相同的操作,或者针对不同类型提供不同的实现.traits在实现过程中往往需要用到以下三种C++的基本特性:
enum
typedef
template (partial) specialization