vector中resize和reserve的区别,代码验证
2013-11-04 11:48
423 查看
#include <vector> using namespace std; int main() { vector<int> resizeVect; vector<int> reserveVect; resizeVect.resize(50, 2); //立即分配50个int,每个值为2,默认值为0,如果是class默认构造函数 vector<int>::iterator iter = resizeVect.begin(); printf("out put resizeVect value start\n"); for(; iter != resizeVect.end(); iter++) { printf("%d ", *iter); } printf("\nout put resizeVect value end\n"); printf("resizeVect capacity %d \n", resizeVect.capacity()); printf("resizeVect size %d \n", resizeVect.size()); resizeVect.push_back(3); //添加一个值后,超出了capacity,capacity增加一半 printf("resizeVect capacity %d \n", resizeVect.capacity()); printf("resizeVect size %d \n", resizeVect.size()); printf("\r\n \r\n"); reserveVect.reserve(50); //预留capacity为50,但是没有内存,当然也不会有值 iter = reserveVect.begin(); printf("out put resizeVect value start\n"); for(; iter != reserveVect.end(); iter++) { printf("%d ", *iter); } printf("\nout put resizeVect value end\n"); printf("reserveVect capacity %d \n", reserveVect.capacity()); printf("reserveVect size %d \n", reserveVect.size()); reserveVect.push_back(3); //添加一个值后,没有超出capacity,capacity保持不变,size+1 printf("reserveVect capacity %d \n", reserveVect.capacity()); printf("reserveVect size %d \n", reserveVect.size()); system("pause"); return 1; }
相关文章推荐
- vector中resize和reserve的区别,代码验证
- vector.resize 与 vector.reserve的区别
- vector的reserve和resize的区别
- vector中resize与reserve的区别
- C++ Daily《2》----vector容器的resize 与 reserve的区别
- vector中resize()和reserve()区别
- [转]vector.resize 与 vector.reserve的区别
- c++ vector resize()和reserve()区别
- vector.resize 与 vector.reserve的区别
- C++ Daily《2》----vector容器的resize 与 reserve的区别
- C++ vector中size/resize和capacity/reserve的区别
- vector的resize()和reserve()函数的区别
- vector.resize 与 vector.reserve的区别
- vector的reserve和resize的区别
- vector.resize 与 vector.reserve的区别
- vector中resize()和reserve()的区别
- std::vector的reserve和resize的区别
- vector的reserve和resize区别
- C++ vector与数组区别 reserve与resize区别
- C++中vector<> resize()和reserve区别