之前对于容器类,没有一个很系统的了解。后来才专门看了 《C++ GUI Qt 编程》的这一部分内容,做一下笔记。需要先说的是,这里对 C++自身的 STL 容器类只是附带提下,不是很深刻。
容器类,就是一些对象,可以承载其他类对象,并且具有成熟的对自己这些元素的操作函数的类。这个可能和数组之类的有点像,但是在设计概念上,应该是远远高于数组之类的。我觉得容器类是提供了完整而封装得极好的数据结构,来实现强大的,完美的可操作性。
另外,需要说明的是,容器类(C++及Qt)都有一些相关的操作符,这一块还不是特别了解,等到以后进一步了解操作符,再补充。
对于容器类的表示方式如:
Vector<项类名> Vecotor对象名 一类的。
向量(Vector):
向量是把它的项存储在内存中相近的位置的一种数据结构。在向量末尾添加额外的元素是非常快速的,但是在其前面或者中间插入元素是耗时的。向量可以一开始就设置长度,也可以不设置(通常也不设置吧)。STL有提供 [] 操作符给 Vector。Qt的等价类也提供了一些操作符,具体去帮助文档看(包括函数之类)。
组装向量的一个方式就是使用 push_back 方法,即是尾插了。
Qt中,等价的类,是 QVector 类。
列表(List):
列表,或者链表,是把它的 item 储存在内存中非相近的地方的数据结构。不像向量一样, list 的随机访问效果慢(这是取决于它的存储方式)