作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有 2 个 vector ,每个 vector 只有 4 个值。我想遍历它们并一起处理它们,因为两个 vector 中的值在 vector 中的那些位置上放在一起。
for (std::vector<boost::filesystem::path>::iterator i = volumeVec.begin(); i != volumeVec.end(); ++i) {
for (std::vector<boost::filesystem::path>::iterator j = sliceHeaderVec.begin(); j != sliceHeaderVec.end(); ++j) {
ParseHeader(j->string(), i->string(), sourceDir);
}
}
但是,当我运行 ParseHeader
时,它处理的值比我预期的要多得多。我想我需要修复我的 for 循环的安排,但不知道该怎么做
最佳答案
你可能想要这样的东西:
assert(volumeVec.size() == sliceHeaderVec.size());
for (std::size_t i = 0; i != volumeVec.size(); ++i) {
ParseHeader(volumeVec[i].string(), sliceHeaderVec[i].string(), sourceDir);
}
或用range-v3 :
for (const auto& p : ranges::view::zip(volumeVec, sliceHeaderVec)) {
ParseHeader(std::get<0>(p).string(), std::get<1>(p).string(), sourceDir);
}
关于c++ - 双for循环加值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43259073/
我有一个数据库,其中包含用户和他们总共花费的钱。如果Bob花了100,那么Bob=>170,意味着他多花了70;我写了命令,使我的 table 像右边的 table 一样。这是我的代码: SELECT
我有很多文件,所有文件的行数都相同,第 1 列(我想保留)中的值也相同。问题是输出改变了顺序。 cat file1.dat Sep-12 1082 Oct-12 1377 Nov-12 1095 De
我是一名优秀的程序员,十分优秀!