2

私はこの状況を意味します:

for (auto iter = myMmap.equal_range(find_key).first;
  iter != myMmap.equal_range(find_key).second;
  ++iter)
{
  //code
}

このセットの最初または最後の項目にあるイテレーター(つまり、カウンターを使用しない)から派生する方法。

4

2 に答える 2

5

このような?

auto range = myMmap.equal_range(find_key);

for (auto it = range.first; it != range.second; ++it) {
    if (it == range.first) { // first

    } else if (std::next(it) == range.second) { // last

    } else {}
}
于 2013-02-15T16:28:52.417 に答える
1

iter私はミキシングを信頼し、citタイプミスです。

for_cycleの場合と同じように、イテレータがグループの最初または最後の要素であるかどうかを確認します。最初の要素はでequal_range(find_key).firstあり、最後の要素の1つ後の要素はですequal_range(find_key).second

于 2013-02-15T16:29:25.523 に答える