Boolan-STL与泛型编程第一周笔记

一. 操作符重载

二. 类模板(对于各种参数类型都是通用的)

 template

Classcomplex

{

  Private: T real,image;

};

使用时:

complex c1;

complex c2;

三. 函数模板:(对于各种类型都是通用的,但是相对于类中必须要有相应的操作符重载)

Template

Inline

const T& min(const T& a,const T& b){……};

其中,有操作符 < 的重载。

四. 特化specialization(之前都是通用的,对于某一种类,会有更加高效的做法)

计算机图形学(可以去看一下)

1. template<>  struct_type_traits {};

2. _STL_TYPENAME_NULL  struct hash

3. template<>  class allocator


偏特化:partical specialization

泛化:Template

1. Template class vector

个数偏特化,可以使得效率更高

2. 泛化Template struct iterator_traits{}

范围偏特化

Template struct iterator_traits

Template struct iterator_traits

五. 分配器allocator

Operator new() 和malloc()

默认使用的分配器:

Template>

六.容器之间的关系,并非继承,而是复合

Array(连续空间)、vector(连续空间)、list、deque、forward list (以前版本slist)、stack 、heap

Rb-treee(基础)、set、map、multiset、multimap……


后续还有还有深谈list、vector、array、forward list、deque、queue、stack、rb-tree、set、map、multiset、multimap、hash table,敬请期待。

你可能感兴趣的:(Boolan-STL与泛型编程第一周笔记)