Hello, Does C++ have a way to delete map key automatically when the mapped value is equal to zero? I'm tired to erase them by an if statement.
Sorry for my bad English :)
№ | Пользователь | Рейтинг |
---|---|---|
1 | tourist | 4009 |
2 | jiangly | 3823 |
3 | Benq | 3738 |
4 | Radewoosh | 3633 |
5 | jqdai0815 | 3620 |
6 | orzdevinwang | 3529 |
7 | ecnerwala | 3446 |
8 | Um_nik | 3396 |
9 | ksun48 | 3390 |
10 | gamegame | 3386 |
Страны | Города | Организации | Всё → |
№ | Пользователь | Вклад |
---|---|---|
1 | cry | 167 |
2 | Um_nik | 163 |
3 | maomao90 | 162 |
3 | atcoder_official | 162 |
5 | adamant | 159 |
6 | -is-this-fft- | 158 |
7 | awoo | 157 |
8 | TheScrasse | 154 |
9 | Dominater069 | 153 |
9 | nor | 153 |
Hello, Does C++ have a way to delete map key automatically when the mapped value is equal to zero? I'm tired to erase them by an if statement.
Sorry for my bad English :)
Название |
---|
Nope. Use erase.
P.S. To expose answer. map doesn't know about value changing (operator[] gives reference to value to user and map doesn't have knowledge about what happens with value, so any logic there must be implemented by user of map). But you always can write helper which erases key if associated value is zero.