STL
文章平均质量分 61
两只鱼丿
学无止境
展开
-
rbegin反向迭代器器
rbegin和crbegin将反向迭代器返回到反向向量的第一个元素。它对应于非反转向量的最后一个元素。如果向量为空,则返回的迭代器等于rend()。返回值:将迭代器反向到第一个元素。示例代码:std::vector<int> nums3{ 1,2,3,4,5,6,6,6,6,9 };std::vector<std::string> fruits2{ "orange", "apple", "raspberry" };std::cout<<"\nrbegin反原创 2022-01-23 16:42:26 · 652 阅读 · 0 评论 -
vector效率测试代码
#include "..\..\include\stlExample\Containers.h"#include "..\..\include\stlExample\StopWatch.h"//#include "StopWatch.h"#include <iostream>#include <boost/progress.hpp>#include <list>using namespace std;//vector性能测试void Contain.原创 2021-11-12 10:13:07 · 577 阅读 · 0 评论 -
提高STL vector性能的6个技巧
文章目录简介性能测试的实施方法一 、通过提前保留向量的大小来避免不必要的重新分配和复制周期二、使用shrink_to_fit()来释放vector ,别用clear()或erase()清除内容而不释放内存。三、当填充或复制到vector中时,最好选择 '=' 赋值而不是insert()或push_back()四、在迭代 vector 中的元素时,避免使用at() 函数五、vector别在头部插入数据6、vector插入数据时emplace_back比push_back效率高简介用Bjarne Stro原创 2021-11-10 20:55:25 · 1559 阅读 · 0 评论 -
C++ STL vector构造函数
文章目录一、 定义一、 定义std::vector<T,Allocator>::vector1vector();vector() noexcept(noexcept(Allocator()));constexpr vector() noexcept(noexcept(Allocator()));默认构造函数。使用默认构造的分配器构造一个空容器。2explicit vector( const Allocator& alloc );使用给定的分配器 alloc原创 2021-11-08 11:19:48 · 1267 阅读 · 0 评论 -
C++ STL中iterator迭代器移动操作
文章目录iterator迭代器简介:迭代器的操作:1. begin(): 该函数用于返回容器的开始位置2. end():该函数用于返回容器的后结束位置3. advance( ) 将迭代器往前或往后移动 n 个元素位置4. next:移动n位置后返回一个新迭代器5 . prev:移动n位置后,返回n的前一个迭代器6. inserter:在容器中的任意位置插入元素7. fill_n:在n开始的范围插入指定数量的值迭代器的类型:输入迭代器输出迭代器前向迭代器双向迭代器随机访问迭代器iterator迭代器简介:原创 2021-11-07 20:37:00 · 4160 阅读 · 0 评论 -
STL 每种容器的使用场景
arrayarray 容器的大小是固定的,无法动态的扩展或收缩,这就意味着,在使用该容器的过程无法借由增加或移除元素而改变其大小,它只允许访问或者替换存储的元素。vectorvector 常被称为向量容器,因为该容器擅长在尾部插入或删除元素,在常量时间内就可以完成,时间复杂度为O(1);而对于在容器头部或者中部插入或删除元素,则花费时间要长一些(移动元素需要耗费时间),时间复杂度为线性阶O(n)。dequedeque 容器也擅长在序列尾部添加或删除元素(时间复杂度为O(1)),而不擅长在序列中间原创 2021-10-05 19:52:04 · 632 阅读 · 0 评论 -
C++ STL 容器详解
简单的理解容器,它就是一些模板类的集合,但和普通模板类不同的是,容器中封装的是组织数据的方法(也就是数据结构)。容器种类功能序列容器主要包括 vector 向量容器、list 列表容器以及 deque 双端队列容器。之所以被称为序列容器,是因为元素在容器中的位置同元素的值无关,即容器不是排序的。将元素插入容器时,指定在什么位置,元素就会位于什么位置。排序容器包括 set 集合容器、multiset多重集合容器、map映射容器以及 multimap 多重映射容器。排序容器中的原创 2021-10-05 18:58:45 · 261 阅读 · 0 评论 -
STL map容器详解
创建map容器模板定义如下:template < class Key, // 指定键(key)的类型 class T, // 指定值(value)的类型 class Compare = less<Key>, // 指定排序规则 clas原创 2021-10-03 15:03:37 · 243 阅读 · 0 评论 -
STL vector容器详解
vector二维使用 int mode = 6; //注意 > 前面的空格不要少 vector<vector<int> > ivec(mode); //6行,在后面循环插入的时候定义列 //插入值 for (int i2 = 0; i2 < ivec.size(); i2++) { //行 for (int i = 0; i <= 3; i++) { //列 ivec[i2].push_back(99); } } //遍历输出值原创 2021-10-01 18:54:09 · 128 阅读 · 0 评论