STL容器共有成员函数

size() max_size()

empty()

begin() end()

clear()

【链接】csdn_STL中所有容器共有成员函数

双端队列deque

1.创建与初始化:名称空间std

deque<int> dq;//会随机生成一个元素
deque<int> dq(8); //构造一个有8个元素的int型队列,默认初始化值(value)为0
deque<int> dq(8,50);//创建一个有8个元素的int型队列,默认初始化值(value)都设为50
deque<int> dq(dq.begin(), dq.end()); //迭代器创建队列
deque<int> dq1(dq);//拷贝构造队列
int n[]={1,2,3,4};
deque<int> dq(n,n+4);
deque<int> dq(&n[0],&n[4]); //将元素下标[0,4)的内容作为队列初值
//注意:末尾指针指向结束元素的后一个

2.基础出入队:

push_back()push_front():入队

pop_front()pop_back():出队,无返回值

3.容器函数:

size():返回容器大小

max_size():返回容器最大容量

empty():判断是否为空

4.遇到std::bad_alloc:

注意有关出入队成员函数是否接收了正确的参数;当然数据量太大也有可能;deque不是连续分配地址的

【链接】deque使用详解

集合set

映射map

字符串string

string类其实是STL中basic_string的实例

1.容器函数相关:

size()length():返回字节数(即字符数,不管是否有汉字),不包括'\0'。两者咩区别,源码一致。string类最初只有length(),沿用C习惯;后为兼容STL加入size(),作为STL容器属性存在。

max_size():获取支持的字符串大小上限,其实是unsigned(-1),所以依据平台和编译选项而各异,即所有位置1的情况。本地32位环境就是\(4294967295=2147483647+2147483648\)。当然实际容量受计算机内存限制。

resize():修改字符数量,可不是修改最大支持的字符数量(想屁嘞)

empty():上升到容器层面,那'\0'肯定也算在内,所以string永远不空的了

2.追加内容:

push_back('x'):追加单字符

append():追加字符串(string类型、cstring类型)、多个字符

+=:重载,追加字符串或单个字符

·【链接】C++的string类型中关于append函数、push_back函数和+=运算符的区别_良晨的技术站-程序员宅基地

3.查找子串:

find("xx"):寻找子串,返回该子串在原字符串中的下标位置(整型string::size_type);若未找到,返回特殊标志string::npos,值为-1

if(s.find("asd")==s.npos) ...

find_first_of("xx"):返回子串首次出现位置

find_last_of("xx"):返回子串最后出现位置

rfind("xx"):同find_last_of,反向查找——子串最后出现的位置

find("xx",n):返回子串在下标n之后出现的位置(包括n)

·【链接】C++ string中的find()函数

【记录】C++STL容器/特有类 使用积累的更多相关文章

  1. #C++初学记录(STL容器以及迭代器)

    STL初步 提交ACM会TLE /仅以学习STL与迭代器使用 C. Cards Sorting time limit per test1 second memory limit per test256 ...

  2. 转:STL容器里存放对象还是指针

    一.问题的引出: 容器可以存放对象,可以存放指针,这里要谈的是两者的使用问题.就是什么时候存放对象更好,什么时候存放指针更好? 二.问题的分析过程: 1. 首先说下stl容器的工作方式   对于内建类 ...

  3. STL 容器的概念

    STL 容器的概念 在实际的开发过程中,数据结构本身的重要性不会逊于操作于数据结构的算法的重要性,当程序中存在着对时间要求很高的部分时,数据结构的选择就显得更加重要. 经典的数据结构数量有限,但是我们 ...

  4. 从零开始写STL—容器—vector

    从0开始写STL-容器-vector vector又称为动态数组,那么动态体现在哪里?vector和一般的数组又有什么区别?vector中各个函数的实现原理是怎样的,我们怎样使用会更高效? 以上内容我 ...

  5. STL——容器(List)List 的概念

    1. List 容器的基本概念 1. list 是一个双向链表容器,可高效的进行插入删除元素,他的原理在于每个元素都有两个指针来记录前后两个元素的地址,像火车车厢一样,list 中各个元素在物理存储单 ...

  6. STL容器

    啦啦啦,今天听啦高年级学长讲的STL容器啦,发现有好多东西还是有必要记载的,毕竟学长是身经百战的,他在参加各种比赛的时候积累的经验可不是一天两天就能学来的,那个可是炒鸡有价值的啊,啊啊啊啊啊 #inc ...

  7. STL容器删除元素的陷阱

    今天看Scott Meyers大师的stl的用法,看到了我前段时间犯的一个错误,发现我写的代码和他提到错误代码几乎一模一样,有关stl容器删除元素的问题,错误的代码如下:std::vector< ...

  8. 【转】c++中Vector等STL容器的自定义排序

    如果要自己定义STL容器的元素类最好满足STL容器对元素的要求    必须要求:     1.Copy构造函数     2.赋值=操作符     3.能够销毁对象的析构函数    另外:     1. ...

  9. STL容器的适用情况

     转自http://hsw625728.blog.163.com/blog/static/3957072820091116114655254/ ly; mso-default-props:yes; m ...

  10. STL容器的遍历删除

    STL容器的遍历删除 今天在对截包程序的HashTable中加入计时机制时,碰到这个问题.对hash_map中的每个项加入时间后,用查询函数遍历hash_map,以删除掉那些在表存留时间比某个阈值长的 ...

随机推荐

  1. 利用openssl生成SM2公私钥对

      openssl 1.1.1+ 版本增加了对SM2 的支持,所以我们就能直接使用这些版本的opsnssl 生成 SM2的公私钥对. 首先我们得在Linux 或者Windows服务器中安装对应版本的o ...

  2. Redis 中 scan 命令踩坑

    原本以为自己对redis命令还蛮熟悉的,各种数据模型各种基于redis的骚操作.但是最近在使用redis的scan的命令式却踩了一个坑,顿时发觉自己原来对redis的游标理解的很有限.所以记录下这个踩 ...

  3. Linux 管理面板云帮手、APPNODE与宝塔哪个好

    阿里云服务器推荐购买99元 由于用作服务器的 Linux 主机通常都没有图形化界面,与日常使用的 Windows .MAC有着很大的差别,一些必备组件的安装或更新就很费时间,后期维护也费神.服务器管理 ...

  4. Qt编写linux系统onvif工具(支持预览/云台/预置位/录像等)

    一.功能特点 广播搜索设备,支持IPC和NVR,依次返回. 可选择不同的网卡IP进行对应网段设备的搜索. 依次获取Onvif地址.Media地址.Profile文件.Rtsp地址. 可对指定的Prof ...

  5. Qt/C++摄像头采集/二维码解析/同时采集多路/图片传输/分辨率帧率可调/自动重连

    一.前言 本地摄像头的采集可以有多种方式,一般本地摄像头会通过USB的方式连接,在嵌入式上可能大部分是CMOS之类的软带的接口,这些都统称本地摄像头,和网络摄像头最大区别就是一个是通过网络来通信,一个 ...

  6. 万字长文:手把手教你实现一套高效的IM长连接自适应心跳保活机制

    本文作者"Carson",现就职于腾讯公司,原题"高效保活长连接:手把手教你实现自适应的心跳保活机制",有较多修订和改动. 1.引言 当要实现IM即时通讯聊天. ...

  7. 从零开始的Python世界生活——语法基础先导篇(Python小白零基础光速入门上手)

    从零开始的Python世界生活--语法基础先导篇(Python小白零基础光速入门上手) 1. 准备阶段 1.1 下载并安装Python 1.1.1 下载步骤: 访问Python官方网站:点击这里下载P ...

  8. vue基础2

    1.表单 表单里面有单选框,多选框,下拉框,文本域 vue单页应用 SPA:signal page application(单页应用) 多页面:1个url->1个html文件 多个url-> ...

  9. Solution -「JOISC 2017」「LOJ #2392」烟花棒

    \(\mathscr{Description}\)   Link.   有 \(n\) 个人站在数轴上,第从左往右第 \(i\) 个人的坐标是 \(x_i\),每个人手上有一支烟花棒,每支烟花棒能燃烧 ...

  10. Ellyn-Golang调用级覆盖率&方法调用链插桩采集方案

    词语解释 Ellyn要解决什么问题? 在应用程序并行执行的情况下,精确获取单个用例.流量.单元测试走过的方法链(有向图).出入参数.行覆盖等运行时数据,经过一定的加工之后,应用在覆盖率.影响面评估.流 ...