
C++ 顺序容器学习笔记(二)
发布日期:2021-05-14 09:33:23
浏览次数:31
分类:精选文章
本文共 940 字,大约阅读时间需要 3 分钟。
顺序容器在C++中是一个非常强大的工具,能够通过各种方法和函数进行元素的添加、删除和访问。以下是对不同方法的详细说明:
添加元素
- push_back:将元素添加到容器的末尾。这个函数非常简单,直接调用即可。
- push_front:将元素添加到容器的开头。支持的容器包括deque、list和forward_list。
- insert:在容器的指定位置插入元素,可以是单个元素,也可以是多个元素。特别是对于中间插入,insert函数可以避免大量数据移动,但这种灵活性可能导致性能问题。
- emplace:C++11新增的函数,可以直接在内存中构造元素,避免不必要的拷贝,提升效率。
删除元素
- pop_back和pop_front:删除容器的末尾或开头元素,操作简单高效。
- erase:删除容器中指定位置的元素,支持从迭代器位置删除。删除后,迭代器会自动移动到删除位置后的元素。
- erase范围删除:删除迭代器范围内的多个元素,返回新的迭代指针,保持正确性。
- clear:删除所有元素,常用于快速清空容器。
提高容器大小
- resize:调整容器的大小, optionally specifying a default value for new elements。 这个函数在需要精确控制容器大小时非常有用。
避免迭代器失效
- 在进行任何可能修改容器的操作后,要确保所有指向容器元素的迭代器都失效并重新定位到正确的位置。 这对于容器如vector、string和deque尤为重要,因为它们的修改通常不会影响其他元素的位置。
string操作
对于string容器,提供了丰富的操作,如substr改变字符串部分,搜索功能,修改操作和比较函数。这些操作对于处理字符串数据非常方便,提升了代码的灵活性和效率。
容器适配器
为了扩展容器功能,标准库提供了三个适配器:stack、queue和priority_queue。这些适配器允许开发者将常用容器(如vector或deque)组合成特定的数据结构,从而简化常见操作,如栈或队列的管理。
理解和掌握这些方法有助于在实际项目中高效地处理数据,提升代码的可读性和性能。随着对这些操作的深入理解,可以更有效地利用C++的强大特性,写出更优质的代码。
发表评论
最新留言
不错!
[***.144.177.141]2025年04月06日 23时30分19秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
java设计模式--代理模式
2019-03-12
如何提高SQL查询的效率?
2019-03-12
Docker入门之-镜像(二)
2019-03-12
设置canvas图作为背景图?亲测有效
2019-03-12
搭建Docker本地 Registry
2019-03-12
数据结构——链表(3)
2019-03-12
32位机器与64位机器在编程方面的差别
2019-03-12
socket模块和粘包现象
2019-03-12
Python学习--模块
2019-03-12
分享拉线位移传感器有哪些实质性的特点
2019-03-12
去了解拉绳位移编码器的影响因素
2019-03-12
影响拉线位移传感器精度的原因有哪些?
2019-03-12
无法初始化Winsock2.2处理
2019-03-12
Horizon Cloud之UAG访问异常
2019-03-12
vm无法打开电源
2019-03-12
vMotion 操作失败进度卡在14% ,报错: Operation Timed out
2019-03-12
vCenter日志相关
2019-03-12
重置UAG Application admin密码
2019-03-12
TA部署失败重置过程
2019-03-12
Horizon Daas租户管理平台扩展分配时报:内部错误
2019-03-12