【发布时间】:2010-12-30 16:30:33
【问题描述】:
我有一个二维向量
typedef vector <double> record_t;
typedef vector <record_t> data_t;
data_t data;
所以我的二维向量是这里的数据。它有像这样的元素,
1 1 1 1 1
2 2 2 2 2
3 3 3 3 3
4 4 4 4 4
5 5 5 5 5
现在我想将这些元素插入到另一个二维向量中
std::vector< vector<double> > window;
所以我所做的是创建一个迭代器,用于遍历数据行并将其推送到窗口中
std::vector< std::vector<double> >::iterator data_it;
for (data_it = data.begin() ; data_it != data.end() ; ++data_it){
window.push_back ( *data_it );
// Do something else
}
谁能告诉我我错在哪里或建议一种方法来做到这一点?顺便说一句,我想逐个元素地推送它,因为我也希望能够在循环内做其他事情。即我想检查一个条件并增加内部迭代器的值。例如,如果满足条件,那么我将在循环内执行 data_it+=3 或类似的操作。
谢谢
附:我昨晚问了这个问题,没有得到任何回应,这就是我再次发布它的原因。
【问题讨论】:
-
到底有什么问题?顺便说一句,如果你想逐个元素地推送双值,你需要嵌套 for 循环。
-
您还想在循环中做什么?您可能不需要逐个元素地复制项目,但我们需要更多信息才能为您提供正确的答案。否则,一个简单的嵌套 for 循环就足够了。
-
拜托,你能明确你的实际问题吗?到目前为止,您的代码看起来不错。
-
我想检查一个条件并增加内部迭代器的值。例如,如果满足条件,那么我将在循环中执行 data_it+=3 或类似的操作。
-
“我昨晚问了这个问题,但没有得到任何回应,这就是我再次发布它的原因。” - 请更新原始问题,而不是重新提出相同的问题。至少提供一个link to the original。