| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> stl容器使用中的经验(九)--确保容器的目标容量足够大 -> 正文阅读 |
|
[系统运维]stl容器使用中的经验(九)--确保容器的目标容量足够大 |
stl容器在有新元素插入( 但所有的情况下都是这样的吗?我们来看一个例子。
按照正常理解,上面的例子我们创建了两个 但是上面的函数能得到我们想要的结果吗? 嘿,别想了,这段程序不仅不会输出你想要的结果,甚至会在运行时奔溃。为什么呢?因为上面的代码执行的方法是,先拿到 解决问题的方法就是使用插入型迭代器。
或者
上面的代码可以在容器的尾部或者头部进行插入操作,而让我们不必操心容器的内存管理。当然使用front_inserter的时候要确保容器支持从头部插入,比如: 但是使用过程中, 相应的,
但是无论选择上述3中方式中的哪一种,他们的本质都是将元素一个一个插入到新容器中,相对来说,也就是调用了单个元素的成员函数,在效率上是有一些影响的。 如果使用的容器是vector或者string的时候,根据前面的经验,我们可以使用reserve来提高插入操作的性能,虽然每次还是需要承担移动元素带来的开销,但至少能够减少因为内存不够而重新申请内存的开销。
上面的例子中我们已经使用 不能,因为 如果容器r已经有数据,我们只是简单的需要对该容器进行数据覆盖,那对我们来说就简单多了。
因为容器 r 中已经有了元素,所以我们就不必要再使用 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 20:59:07- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |