本文介绍了std :: vector复制后的容量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
- vector :: operator =更改向量容量?
- Does vector::operator= change vector capacity? If so, how?
- Does vector's copy constructor copy capacity?
我通过文档浏览了但找不到具体的答案。
I looked through documentation but could not find a specific answer. Is it implementation dependent?
推荐答案
您可以保证:
- 向量具有足够的容量来存储其元素。 (显然)
- 向量在当前容量满之前不会获得新容量。
因此,一个实现需要多少额外的或少量的东西取决于实现。我认为大多数会使容量匹配大小,当复制时,但不能降低容量。 (因为上面的数字2;重新分配,虽然有足够的空间是不允许的。)
So how much extra or little an implementation wants to put is up to the implementation. I think most will make capacity match size, when copying, but it cannot lower capacity. (Because of number 2 above; reallocating while there's enough room is not allowed.)
这篇关于std :: vector复制后的容量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!