STL源码剖析——基础

六大部件

STL源码剖析——基础_第1张图片

 

模板

  1. 类模板
  2. 函数模板
  3. 成员模板(类拥有本身为类模板或函数模板的成员)
  • 特化:优先选择特化版本
template struct __type_traits
{
    ...
};

template<> struct __type_traits
{
    ...
};

template<> struct __type_traits
{
    ...
};

....
  • 偏特化

      1. 限制部分参数类型

template
class vector
{
    ...
};

template
class vector
{
    ...
};

      2.限制为指针、引用、常量等

template struct iterator_traits
{
    ...
};

template struct iterator_traits
{
    ...
};

 

重载

不能被重载的操作符:

   [1]?:

   [2].

   [3]::

   [4]sizeof

   [5].*   (引用指向类成员的指针)

不能是非成员的重载函数:

   [1]=

   [2][]

   [3]->

 

 

你可能感兴趣的:(c++,STL源码剖析)