读书笔记《C++ Primer》第五版——第九章 顺序容器
来源:互联网 发布:python项目交易平台 编辑:程序博客网 时间:2024/05/18 01:13
容器定义和初始化
主要形式有
C c1=c2 c1和c2必须是相同类型,对于array还要相同大小 C c{a,b,c…}
C c={a,b,c…} 列表中元素类型要与C的元素类型相容,对于array,列表元素数目要小于等于array的大小 C c(b,e) 迭代器中C中元素相容,array不适用 注意 只有顺序容器(array除外)的构造函数才能接受大小参数 C seq(n) 构造函数为explicit,string不适用 C seq(n,t) seq包含n个初始值为t的元素
容器赋值运算
主要形式有
c1.swap(c2) swap比从c2向c1拷贝元素要快得多,且不会使指向容器的迭代器、引用、指针失效(array、string除外) 注意 assign不适用于关联容器和array seq.assign(b,e) 迭代器b、e不能指向seq中的元素 seq.assign(il) il为初始化列表 seq.assign(n,t) n个值为t的元素
顺序容器添加元素
arrary不支持这些操作
forward_list有自己专有版本的insert和emplace
forward_list不支持push_back和emplace_back
vector和string不支持push_front和emplace_front
主要形式有
c.emplace_back(args) 返回void c.push_front(t)
c.emplace_front(args) 返回void c.insert(p,t)
c.emplace(p,args) 返回新增元素的迭代器 c.insert(p,n,t)
c.insert(p,b,e)
c.insert(p,il) 返回新增第一个元素的迭代器;若n为0,返回p
顺序容器访问元素
at和下标操作只适用于string、vector、deque和array
主要形式有
forward_list中插入和删除元素的操作
lst.cbefore_begin() 返回首元素前的迭代器,不可解引用 lst.insert_after(p,t)
lst.insert_after(p,n,t)
lst.insert_after(p,b,e)
lst.insert_after(p,il) 返回最后一个插入元素的迭代器,范围为空时行为未定义 emplace_after(p,args) 返回新增元素的迭代器,p为尾后迭代器时行为未定义 lst.erase_after(p)
lst.erase_after(b,e) 删除(p,end)或(b,e)区间,返回被删元素之后元素的迭代器,未删除时返回尾后迭代器。如果p指向尾元素或尾后迭代器,行为未定义
顺序容器resize操作
容器大小管理操作
string的其他方法
构造方法主要有:
string s(cp,n)
string s(s2,pos)
string s(s2,pos2,len2)
修改string的操作
s.assign(args)
s.append(args) 返回s的引用 s.replace(range,args) rang为下标和长度,或者一对s的迭代器,返回s的引用
注意args可以是str、str,pos,len、cp,len、cp、n,c、b,e、初始化列表
string搜索操作
s.find(args)、s.rfind(args)查找args整体出现位置
s.find_first_of(args)、s.find_last_of(args)、s.find_first_not_of(args)、s.find_last_not_of(args)查找args任一字符出现或不出现的位置
args可以为c,pos、s2,pos、cp,pos、cp,pos,n
s.compare的几种参数形式
s2 pos,n1,s2 pos,n1,s2,pos2,n2 cp pos1,n1,cp pos1,n1,cp,n2
stirng和数值之间的转换C++11
stol(s,p,b)
stoul(s,p,b)
stoll(s,p,b)
stoull(s,p,b) size_t指针p保存s中第一个非数值字符的下标,p默认为0,基数b默认为10 stof(s,p)
stod(s,p)
stold(d,p) ld指的是long double
容器适配器
A a
A a(type, C)
a.empty
a.size()
swap(a,b) a.swap(b) a和b必须有相同类型,包括底层容器也须相同
阅读全文
0 0
- 读书笔记《C++ Primer》第五版——第九章 顺序容器
- C++Primer第五版【笔记】——第九章——顺序容器
- C++primer第五版笔记-第九章顺序容器
- 《C++ Primer》读书笔记——第九章_顺序容器
- 实验测试1《C++ Primer》第五版——第九章 顺序容器
- 实验测试2《C++ Primer》第五版——第九章 顺序容器
- 顺序容器——C++Primer第九章
- c++ primer读书笔记-第九章 顺序容器
- C++ primer 读书笔记 第九章 顺序容器
- 《C++primer(第五版)》学习之路-第九章:顺序容器
- 《C++Primer》读书笔记——第9章 顺序容器
- C++primer 第九章:顺序容器----字符串
- C++primer第4版第九章顺序容器
- 《C++ Primer》读书笔记-第九章 01 顺序容器
- 《C++ Primer》读书笔记-第九章 03 顺序容器操作
- 菜狗的C++ primer读书笔记:第九章 顺序容器
- c++ primer(第五版)笔记 第九章 顺序容器(1)
- c++ primer(第五版)笔记 第九章 顺序容器(2)
- 基于对象的数据筛选与排序(一)
- 14 STL中容器vector(学自Boolean)
- MySql数据引擎-MyISAM与InnoDB区别
- JavaSE基础Map集合
- c++中二维数组与二维向量的长度
- 读书笔记《C++ Primer》第五版——第九章 顺序容器
- 关于开关灯的问题
- matlab画图函数汇总(三)
- js_expresion&operator
- DOS 命令大全
- 分治与递归之棋盘覆盖
- 电阻触摸屏驱动实例分析
- 数据库知识点总结(未完待续)
- 计算与推断思维 六、可视化