
STL代码详解
文章平均质量分 84
Talk is cheap, Show me code
马上到我碗里来
野生汽车工程师|主动悬架|汽车电子|自动驾驶
展开
-
STL之deque容器代码详解
双端数组,可以对头端进行插入删除操作。vector对于头部的插入删除效率低,数据量越大,效率越低。deque相对而言,对头部的插入删除速度回比vector快。vector访问元素时的速度会比deque快,这和两者内部实现有关。deque内部有个,维护每段缓冲区中的内容,缓冲区中存放真实数据。中控器维护的是每个缓冲区的地址,使得使用deque时像一片连续的内存空间。deque容器的迭代器也是支持随机访问的。原创 2024-03-09 21:07:31 · 1235 阅读 · 0 评论 -
STL之set容器代码详解
所有元素都会在插入时自动被排序set/multiset属于,底层结构是用实现。set不允许容器中有重复的元素;multiset允许容器中有重复的元素。原创 2024-03-09 11:00:00 · 1022 阅读 · 0 评论 -
STL之map容器代码详解
map/multimap属于,底层结构是用二叉树实现。可以根据key值快速找到value值。map和multimapmap不允许容器中有重复key值元素;multimap允许容器中有重复key值元素。原创 2024-03-08 15:32:46 · 1185 阅读 · 0 评论 -
STL之list容器代码详解
(list)是一种物理存储单元上非连续的存储结构,数据元素的逻辑顺序是通过链表中的指针链接实现的链表的组成:链表由一系列组成。结点的组成:一个是存储数据元素的,另一个是存储下一个结点地址的。STL中的链表是一个双向循环链表由于链表的存储方式并不是连续的内存空间,因此链表list中的迭代器只支持前移和后移,属于。采用动态存储分配,不会造成内存浪费和溢出,用多少开多少空间,不像vector那样预留很多空间;链表执行插入和删除操作十分方便,修改指针即可,不需要移动大量元素。原创 2024-03-07 15:23:06 · 883 阅读 · 0 评论 -
STL之vector容器代码详解
vector的数据结构和数组相似,也称为单端数组。主要的特点(优势)在于可以动态扩展。动态扩展并不是在原来的空间之后接新的空间,而是适当增加一定量的空间找一段新的内存去存储,然后将原来的数据拷贝过来并且释放原来的空间。vector容器的迭代器是支持随机访问的迭代器,最牛的那种,迭代器可以随意加数值。原创 2024-03-07 08:00:00 · 986 阅读 · 0 评论 -
C++的STL标准模块库介绍
STL(Standard Template Library)是C++标准库的一部分,它提供了一组通用的模板类和函数,用于实现常见的数据结构和算法。STL的设计目标是提供高效、可复用的工具,使C++程序员能够更容易地编写健壮、可维护的代码。STL的使用可以大大提高C++程序的开发效率和代码质量。通过使用标准的容器和算法,程序员可以避免重复编写相似的代码,减少错误的可能性,并利用已经优化过的实现来提高性能。STL是C++中的重要工具之一,为程序员提供了强大而灵活的编程工具。原创 2024-03-06 16:41:34 · 373 阅读 · 0 评论