基本概念:
- concept: concept是泛型编程的核心理念,它用来描述一群彼此相关的对象类型。
- type:type可以理解为是concept的实例,一个concept可以对应多种type
concept和type的例子:
Integral:int8_t,uint8_t,int16_t......
UnsignedIntegral:uint8_t,uint16_t.......
一个概念(concept)是一个用来判断类型是否满足这些要求的谓词。主要设计三个方面:1.类型必须提供那些操作 2. 这些操作的语义 3.这些操作的时间/空间复杂度
3 类型函数与类型属性
4 Regular(常规类型):一种concept,它的类型满足以下操作:
- 拷贝函数
- 赋值
- 等价测试
- 析构
迭代器(Iterator)
迭代器是一种concept,用来指示序列中的位置。他可以视为广义的指针。迭代器的类型必须满足:1. 常规类型所支持的操作 2. 移动到后继位置的操作 3. 解引用操作。
- 迭代器的种类
- 输入迭代器
- 前向迭代器
- 双向迭代器
- 随机访问迭代器