最近听一个学长说面试的时候遇到了这样一个问题:
vector用完内存空间后会怎么样?
也就是说,如果我们不断的申请vector空间会怎么样?其实这个问题想想就知道最后肯定会出错嘛,但是既然别人问了而且网上也没有人说明类似的问题,那我们还是做实验来解决嘛。
代码如下:
#include<vector>
using namespace std;
int main(void){
vector<vector<int>> ivec;
vector<int> e(1000000, 0);
int i = 0;
while (i <= ivec.capacity()) ivec.push_back(e);
return 0;
}
程序运行结果如下:
果不其然,是不能分配内存了。