总第37篇
接下来的几篇文章将在C++11/14的基础上,重新对STL
标准库的知识进行梳理学习,在自己精进的同时,也希望能给前进路上的你提供一定的参考。
STL
是C++标准库的一个重要组成部分,它实现了数据结构和算法,主要由算法、容器、迭代器、适配器、函数对象、空间适配器六大部件组成。 其中迭代器是对指针的一种泛化,是容器与算法的桥梁;适配器是用基本容器来实现的容器。本篇主要讲解模板编程和迭代器的相关知识。
1.模板编程
模板编程是STL
的基石,也是C++11的核心特性之一。模板是相对于编译器而言的,即向编译器提供一个处理事务的模板,同种类型的事务都用这个模板处理。其基本语法为:
template <typename/class T> //typename与class关键字可以替换
在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