我很好奇爲什麼下面的代碼不能在連續的循環中運行。而且我還在尋找一些方法來實現我想實現的目標 - 重置循環內部的循環。我需要這樣做,因爲我需要考慮容器中的每個元素。之所以這樣,是因爲我可能從中間開始,並且需要循環查看其他人並需要重新檢查其他信息。所以,在我的小測試例如:重置循環中的循環
for (int i = 0; i != 10; i++) {
std::cout << std::endl << "TEST: " << i << std::endl;
if (i++ == 10) {
i = 0;
} else {
i--;
}
}
有什麼特別的原因上述不起作用?我對知道爲什麼非常感興趣,所以我可以瞭解一切如何運作。這也導致我面臨的一個更大的問題。下面的代碼是。我正在使用MSVC++ 2010 Express。此外,這是一個線程,所以其他數據不能訪問它。這是一個使用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--;
}
}
我明白任何反饋,以便所提供的,並且如果需要進一步的信息我會提供任何新的東西:-)學習。感謝您的時間。
'i = 9; std :: cout << i ++;' –