本文共 758 字,大约阅读时间需要 2 分钟。
本节书摘来自异步社区出版社《21天学通C++(第7版)》一书中的第17章,第17.6节,作者: 【美】Siddhartha Rao, 【德】Nicolai M. Josuttis,更多章节内容可以访问云栖社区“异步社区”公众号查看。
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允许在开头和末尾插入。
本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。