STL
2019-02-18 本文已影响8人
肖春宇
三种基本容器:
vector, deque(双端队列),list.
基本容器扩展的适配器:
queue,stack
适配器分为:
容器适配器,迭代器适配器,函数适配器。
仿函数又叫函数对象,其本质是类的对象,一种可回调机制,在类中重载了()运算符,使对象在用()时呈现出函数的特性,所以叫仿函数。
空间配置器就是STL自己的“内存池”。完成对内存的申请,释放,维护。
STL 是学习 C++ 路上必须领略的美景,STL 由六个部分组成:容器,迭代器,算法,仿函数,适配器,空间配置器。各个部件相互调用,相互关联。运用泛型,模板,oop等思想,是学习和理解 c++ 这门语言的必经之路。
模板
template <typename/class T>
template 告诉编译器,接下来是一个模板 ,typename 和 class 都是关键字,在这里二者可以互用没有区别。在< >中 T 叫做模板形参,一旦模板被实例化,T 也会变成具体的类型。
template <typename T>
Tadd(constT lva ,constT rva){
T a ;
a = lva + rva ;
return a;
}
类模板
c++11 不仅支持对函数的模板化,也支持对类的模板,下面来看基本的语法是怎样的:
template <class T>
class Myclass {
T a;
public:
T add(const T lva ,const T rva);
};
template <class T>
T Myclass<T>::add(const T lva,const T rva)
{
a = lva + rva;
return a;
}