首先我们应该明白resize 和 reserve的意思。
resize :调整大小
reserve: 保留
明白意思之后我们首相就可以通过名字对他们的功能有一个大致的了解了:
为了弄清他们之间的区别,我们看下面的一段代码:
reserve可以改变当前容器的预留的容量,他并不影响容器当前的大小。
如:当一个空容器使用reserve之后,容器的容量得到了改变,但是当前的size并没有改变,能够改变size只有两种方法:
1: pop_back(); push_back();
2: resize(n);
resize改变当前的大小,但它也可以改变容量,当前的容量小于resize指定的大小时,这时就会改变容器的当期的容量来使用resize的参数.当当前容量大于当前的大小时无需改变.
对于resize和reserve改变一个空的容器后,容器对应的反应是如何呢?
从两个的输出结果上我们就能明白了。使用resize之后容器里的内容是有效地,可用的。而使用reserve之后,大于size的大小的容器内容是无效的,随即的数字。
capacity() 和 size()
capacity:能力,容量:
size: 大小
我们看下面代码:
OK。我想至此你应该解除心中的困惑了吧.