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