我正在用c ++测试一些函数,但是当我使用这段代码时 它正在编译,但我的程序失败并出现错误:std :: bad_alloc 我认为这是因为我没有足够的记忆或矢量太大
#include <iostream>
#include <vector>
#include <ctime>
using namespace std;
int main(void){
int temps = time(0);
vector<int> vec(temps, 20);
for(int i(0); i < vec.size() ;i++){
cout << vec[i] << endl;
};
}
答案 0 :(得分:2)
time(nullptr)
会返回自1970年1月1日以来的秒数。目前大约为1458495645。
因此,您目前正在初始化一个std :: vector,其数量大约是20英寸的15亿倍。我猜你有不同的意图。