後置き++を使う時
をテンプレートにして作成
Check
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
[[ssacontents]]
** 悪名高き後置きインクリメント演算子(hoge++)を使うシー...
*** mapの要素をループの中で削除する場合 [#ae33235f]
map<int,int> intMap;
...
map<int,int>::iterator ite = intMap.begin();
// map<int,int>::terator end = intMap.end();
// while (ite != end)
// ↑のようにendをあらかじめ評価してはいけない
while (ite != intMap.end()) {
...
if (削除する?) {
intMap.erase(ite++);
// 内部では、 { iterator tmp = ite; ++ite; erase(tm...
}
else {
++ite;
}
}
- iteratorのルール
-- iteratorは、insert, eraseなどコンテナのサイズに影響を...
-- たとえば、ループの中で要素を削除したり、追加したりする...
*** integerの減算カウンタ [#q17515ea]
void hoge(int count) {
while(count--) {
... do something;
}
}
終了行:
[[ssacontents]]
** 悪名高き後置きインクリメント演算子(hoge++)を使うシー...
*** mapの要素をループの中で削除する場合 [#ae33235f]
map<int,int> intMap;
...
map<int,int>::iterator ite = intMap.begin();
// map<int,int>::terator end = intMap.end();
// while (ite != end)
// ↑のようにendをあらかじめ評価してはいけない
while (ite != intMap.end()) {
...
if (削除する?) {
intMap.erase(ite++);
// 内部では、 { iterator tmp = ite; ++ite; erase(tm...
}
else {
++ite;
}
}
- iteratorのルール
-- iteratorは、insert, eraseなどコンテナのサイズに影響を...
-- たとえば、ループの中で要素を削除したり、追加したりする...
*** integerの減算カウンタ [#q17515ea]
void hoge(int count) {
while(count--) {
... do something;
}
}
ページ名: