我编写了一个 c++ 代码,我正在测试向量 push_back 的运行时间。我有一个向量的向量。我称我的主向量 mainVec 和嵌入向量 subVec。因此,我将支持的 2^20 个元素推入 subVec,然后将支持的 subVec 2^20 次推入 mainVec。但是,在 subVec-push_back 的循环中,我有一个未执行的 cout 命令。我希望你能指出我的错误。
这是代码(虽然代码中没有错误):
vector<int> subVec;
vector< vector<int> > mainVec;
//Fills the subvector with 2^20 elements
for( size_t i = 0; i < (pow(2,20)+1); ++i) subVec.push_back(i);
//Filling of the maiVec with 2^20 subVec
for( size_t j = 10; j < 21; ++j) {
cout << pow(2,j) << endl;
clock_t t1 = clock();
//2^j times subVec is push_backed for j < 21
for( size_t k = 0; k < pow(2,j); ++k ) mainVec.push_back( subVec );
t1 = clock()-t1;
//Outputting to file
cout << "\t" << (float(t1) / CLOCKS_PER_SEC) << endl;
//ofs << pow(2,j) << "\t\t" << (float(t1) / CLOCKS_PER_SEC) << endl;
}