[英]pushing back data into 2d vector in c++
vector <int> col(0);
vector<vector<int> > row(0);
for(i=0;i<10;i++)
col.push_back(some integer);
row.push_back(col);
col.clear();
有人可以告诉我这里有什么问题吗? 在col[]
向量中,没有错误,但是当我在最后一行的前一行通过debug转到下一条指令时,仅row[]
大小从0更改为1,但是看不到它应该取自col[]
向量?
编辑:我试图放调试屏幕的屏幕快照,但声誉事件发生了。
您的代码绝对没有问题:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector< int > col(0);
vector< vector<int> > row(0);
for(int i=0;i<10;i++)
col.push_back(i);
row.push_back(col);
col.clear();
std::cout << "row size is: " << row.size() << std::endl;
std::cout << "row 1st elem size is: " << row[0].size() << std::endl;
std::cout << "col size is: " << col.size() << std::endl;
return 0;
}
输出:
row size is: 1
row 1st elem size is: 10
col size is: 0
这是完全可以预期的。 可能是调试器中的错误(它可能无法显示实际的矢量大小)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.