C++ resize()函数使用

 resize(int n,element),c++中序列式容器的一个共性函数,作用是改变vector中元素的数目。

调整容器后的大小为n,扩容后的每个元素的值为element,默认为0。

如果n比当前的vector元素数目要小,vector的容量要缩减到resize的第一个参数大小,既n。并移除那些超出n的元素同时销毁他们。

如果n比当前vector元素数目要大,在vector的末尾扩展需要的元素数目,如果第二个参数val指定了,扩展的新元素初始化为val的副本,否则按类型默认初始化。
注意:如果n大于当前的vector的容量(是容量,并非vector的size),将会引起自动内存分配。所以现有的pointer,references,iterators将会失效。

再说一下reserve(),设置容量capacity。

打个比方:正在建造的一辆公交车,车里面可以设置40个座椅(reserve(40);),这是它的容量,但并不是说它里面就有了40个座椅,只能说明这部车内部空间大小可以放得下40张座椅而已。而车里面安装了40个座椅(resize(40);),这个时候车里面才真正有了40个座椅,这些座椅就可以使用了。

参考:

https://blog.csdn.net/ubunfans/article/details/8447833

你可能感兴趣的:(c++,c++,容器,开发语言)