c++ - Double for loop adding values -
i have 2 vectors have 4 values in each of them. want loop through them , process them together, values in both vectors go in positions in vectors.
for (std::vector<boost::filesystem::path>::iterator = volumevec.begin(); != volumevec.end(); ++i) { (std::vector<boost::filesystem::path>::iterator j = sliceheadervec.begin(); j != sliceheadervec.end(); ++j) { parseheader(j->string(), i->string(), sourcedir); } } however, when run parseheader process many more values expecting. think need fix arrangement of loops don't know do
you want like:
assert(volumevec.size() == sliceheadervec.size()); (std::size_t = 0; != volumevec.size(); ++i) { parseheader(volumevec[i].string(), sliceheadervec[i].string(), sourcedir); } or range-v3:
for (const auto& p : ranges::view::zip(volumevec, sliceheadervec)) { parseheader(std::get<0>(p).string(), std::get<1>(p).string(), sourcedir); }
Comments
Post a Comment