《21天学通C++(第7版)》——17.6 问与答-阿里云开发者社区

开发者社区> 云原生> 正文

《21天学通C++(第7版)》——17.6 问与答

简介:

本节书摘来自异步社区出版社《21天学通C++(第7版)》一书中的第17章,第17.6节,作者: 【美】Siddhartha Rao, 【德】Nicolai M. Josuttis,更多章节内容可以访问云栖社区“异步社区”公众号查看。

17.6 问与答

21天学通C++(第7版)
**问:vector会改变其存储的元素的顺序吗?

答:**vector是一种顺序容器,元素的存储顺序与插入顺序相同。

**问:要将元素插入到vector中,应使用哪个函数?元素将插入到vector的什么位置?

答:**成员函数push_back将元素插入到vector末尾。

**问:哪个函数用于获悉存储在vector中的元素个数?

答:**成员函数size ()返回存储在vector中的元素个数。对于所有STL容器,该函数都如此。

问:随着vector包含的元素增多,在vector末尾插入或删除元素所需的时间是否更长?

答:否。在vector末尾插入或删除元素所需的时间是固定的。

问:使用成员函数reserve的优点是什么?

答:reserve (...)为vector的内部缓冲区分配内存空间,这样在插入元素时vector就不需要重新分配缓冲区并复制现有内容。根据vector存储的对象类型,为vector预留内存空间可能改善性能。

问:在插入元素方面,deque与vector是否不同?

答:没有。在插入元素方面,deque的特点与vector类似。将元素插入到末尾时,两者所需的时间都是固定的,而将元素插入到中间时,所需的时间与容器包含的元素数成正比。然而,vector只允许在末尾插入,而deque允许在开头和末尾插入。

本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
云原生
使用钉钉扫一扫加入圈子
+ 订阅

云原生时代,是开发者最好的时代

其他文章