简介:STL减少了我们对函数的构建,同时增加了我们对函数的调用。这样进一步降低了我们使用C++语言的开发效率。如果没有数据结构,你就还要去多次书写链表,然后才能对数据增删查改,这是很麻烦的事,如果有了数据结构,我们就不需要去自己反复书写链表,而是直接函数调用写好的链表相关函数,从而对数据 进行各种操作。所以,学习数据结构与算法,是一件提高编程效率的事。
Stl的学习:
STL:标准数据库。我觉的这个东西就是简化了代码开发,相当于你写了一长串代码所实现的功能,而别人仅仅只写了一个函数就实现了你的功能。那我们都知道函数是可以调用的,那么当你为了实现某一个功能时,同时你也为了达到工作的开发效率,你就仅仅只需要调用这个别人写好的函数达到你的目的。所以,在这句话中,STL的含义就是这个函数,STL的功能就是解决了开发效率。
当知道STL是什么的时候,那么你就应该了解它的工作机制,包括它的基本内容,以及如何使用,甚至它是如何实现这种高效性的开发的。下面我们准备开始走进STL.它的内容包括:容器,算法,迭代器···
首先,容器分为两种:
一种是序列式容器(可序容器):这种容器中的数据是没有被排好序的,但是它可以被排序,因此我们如果要操作数据就可以用这种序列式容器。它包括:vector,list,deque.
第二种容器是关系式容器(已序容器):这种容器中的数据是被排序好了的,因此你只需要去使用这些数据,而不是去对这些数据操作。所以,使用数据就使用这种关系型容器。它包括:set,map,mulitset,mulitmap.
图形笔记(仅供作者笔记参考):
在C++中,占据内存的数据可以被拷贝,但是不占据数据内存的如(引用)不允许被拷贝 。
逻辑位置与物理位置的区别:
比如一个数组,有3,2,5,7四个数,那么这四个数的下标0,1,2,3就构成了逻辑位置。这四个数同时也对应四个内存位置,0x10,0x14,0x18,0x1c.那么内存位置就是物理位置。