以下のコードが連続ループで実行されない理由を知りたいと思います。また、私が達成したいことを達成するためのいくつかの方法を探しています。それは、ループ内のループをリセットすることです。コンテナ内の各要素を考慮する必要があるため、これを行う必要があります。これは、途中から始めて、ループバックして他の情報を確認する必要があり、他の情報も再確認する必要があるためです。私の小さなテスト例では、次のようになります。
for ( int i = 0; i != 10; i++ ) {
std::cout << std::endl << "TEST: " << i << std::endl;
if ( i++ == 10 ) {
i = 0;
} else {
i--;
}
}
上記が機能しない特別な理由はありますか?私はその理由を知ることに非常に興味があるので、すべてがどのように機能するかを学ぶことができます。これはまた、私が直面しているはるかに大きな問題につながります。これは以下のコードです。MSVC ++2010Expressを使用しています。また、これは1つのスレッドであるため、他のデータはそれにアクセスしていません。これは、STLを使用したunordered_mapです。2の場合のサイズ(チェックしました)。
for (game_player_client_map::const_iterator it = gpc_map_ptr->begin(); it != gpc_map_ptr->end(); ++it) {
if ( it++ == gpc_map_ptr->end() ) {
cout << endl << "IT == gpc_map_ptr->end()" << endl;
it = gpc_map_ptr->begin();
} else {
it--;
}
}
SOが提供しなければならないフィードバック、および学ぶべき新しいことを感謝します:-)さらに情報が必要な場合は、私が提供します。お時間をいただきありがとうございます。