我有一个巨大的向量,我需要在不同的线程中处理,所以我没有使用相同的数据创建 N 个不同的向量,而是考虑使用迭代器。我已经设法编写代码,但在我看来它可以缩短或改进。
Iterator begin = vec.begin();
Iterator end;
Iterator endOfVector = vec.end();
while(end != endOfVector){
end = begin;
advance(end, elementsPerThread);
if (end > endOfVector){
end = endOfVector;
}
iteratorPairs.push_back( std::make_pair(begin, end) );
begin = end;
}
我已经习惯了 C++/Qt 编程,但是说到 std:: 我觉得我还有很多东西要学。:)