美文网首页
Boolan-STL与泛型编程第一周笔记

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

作者: 杨嘉莉 | 来源:发表于2018-05-05 21:47 被阅读0次

一. 操作符重载

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

 template<typename T>

Classcomplex

{

  Private: T real,image;

};

使用时:

complex<double> c1;

complex<int> c2;

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

Template

Inline

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

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

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

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

1. template<>  struct_type_traits {};

2. _STL_TYPENAME_NULL  struct hash<int>

3. template<>  class allocator<void>

偏特化:partical specialization

泛化:Template<class T,class Alloc=alloc>

1. Template<class Alloc> class vector<bool , Alloc>

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

2. 泛化Template struct iterator_traits{}

范围偏特化

Template<class T> struct iterator_traits<T*>

Template<class T> struct iterator_traits<const T*>

五. 分配器allocator

Operator new() 和malloc()

默认使用的分配器:

Template<class _Ty,class _A=allocator<_Ty>>

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

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与泛型编程第一周笔记

      本文链接:https://www.haomeiwen.com/subject/kvgerftx.html