私は、for
のループと入れ子のfor
ループを使用してstd::map
を2回繰り返しています。私は条件が満たされたときに内側のループを止めたい。私は休憩を呼ぶと、両方のループを止めることを知っています。私はそれを望んでいない。私は内部のループを中止したいだけですfor
ループ。std :: map iteratorを進めてforループを止めるには?
私のコードスニペットは以下の通りである:私はのstd ::マップのサイズによってイテレータを前進させることにより、ループの内部を停止しようとしているが、それは働いていない
for(auto markerCounter = ellipsePropertiesMap.begin(); markerCounter != ellipsePropertiesMap.end(); markerCounter++)
{
for(auto markerCounter2 = ellipsePropertiesMap.begin(); markerCounter2 != ellipsePropertiesMap.end(); markerCounter2++)
{
if(conditionMet)
std::advance(markerCounter2, ellipsePropertiesMap.size());
//I also tried the following:
//markerCounter2 = ellipsePropertiesMap.end();
//markerCounter2++;
}
}
。私はまた、終了イテレータを取得し、ループを終了するためにそれを進めようとしました。明らかにそれはどちらも動作していません。
私は実際にどのようにして内側のループを止めることができますか?
ありがとうございました。
'break'は1つのループにのみ影響します – DimChtz
条件はどのくらい複雑ですか?ループを終了する以外に条件が満たされていれば特別なことをする必要がありますか?多くの場合、ループ自体の条件部分に追加することができます。 – NathanOliver