STL学习(一)

之前,我对stl的态度有些不以为然,直到面试多家c++开发岗位未果后,我才真正重视stl这个东西。

于是翻阅大量的博客,打算好好的学习stl,然而,大多数博客说得都比较零碎。后来,我总算找到了一个把stl说得很详细且浅显易懂的视频网站,现在,我将他推荐给大家。网址:https://www.bilibili.com/video/av45108908

看完视频之后,我打算写些东西巩固下。

在STL中,分为6大部件:

(1)分配器:其作用是用来给容器分配内存空间的。

(2)容器:STL主角之一,用来存储数据。STL中,包含这几个容器:

           a、顺序容器:array,vector,deque,list,forward_list;

           b、关联容器:set,map,multiset,multimap,unordered_set,unordered_map,unordered_multiset,unordered_multimap;

(3)迭代器:STL主角之一,算法不会直接操作容器,而是通过容器的迭代器对其进行操作,所以说,迭代器是容器和算法之间的桥梁。

(4)算法:STL主角之一,对容器中的数据进行一些特殊的操作。比如:复制,排序等。

(5)仿函数:用来协助算法操作容器的像函数的类。主要是在类中重载了"()"运算符,让其调用看上去像是一个函数。

(6)适配器:包含三种适配器,分别如下:

          a.容器适配器:基于已有容器开发的具有某些独特行为的容器,比如:stack和queue。

          b.迭代器适配器:基于已有迭代器开发的具有某些独特行为的迭代器,比如:insert_iterator,reverse_iterator。

          c.仿函数适配器:基于已有仿函数开发的具有某些独特行为的仿函数,比如:bind2nd,bind,not1。

更多详细的STL操作和原理,在后面的章节中我会细细讲解,若有错误,欢迎大家指正。

你可能感兴趣的:(c++,STL)