1.SLT六大组件:
容器,迭代器,算法,仿函数,适配器,空间配置器
2.六大组件之间的关系
容器:容器是STL最基础的组件,没有容器,就没有数据,容器的作用就是用来存储数据的,在不同的场景下使用不同的容器,保证了数据使用的高效率和低空间。
算法:算法是解决问题的思想和实施步骤;而编程就是算法的实现,不同算法的实现对于数据的处理来说是重要的,没有算法,也就没有了正确的数据。
迭代器:迭代器的出现连接了容器和算法,隐藏了算法和容器底层的实现细节,降低了使用成本,如果没有迭代器,则算法和容器将直接暴露在用户面前,使封装性减低。
适配器:通过其他的容器或迭代器来实现其它的容器或迭代器,stack/queue/priority_queue都是通过其它容器适配出来的,反向迭代器也可以通过正向迭代器实现。
仿函数:通过实现operator()的类,这个类对象可以像函数一样来实现,比如map/set中key的比较大小,sort中的比较规则。
空间配置器(内存池):容器频繁申请或释放内存。判断申请的空间大小来使用不同的内存池,减小了空间的浪费,提高了访问效率。