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 :)
# | User | Rating |
---|---|---|
1 | tourist | 3985 |
2 | jiangly | 3814 |
3 | jqdai0815 | 3682 |
4 | Benq | 3529 |
5 | orzdevinwang | 3526 |
6 | ksun48 | 3517 |
7 | Radewoosh | 3410 |
8 | hos.lyric | 3399 |
9 | ecnerwala | 3392 |
9 | Um_nik | 3392 |
# | User | Contrib. |
---|---|---|
1 | cry | 169 |
2 | maomao90 | 162 |
2 | Um_nik | 162 |
4 | atcoder_official | 161 |
5 | djm03178 | 158 |
6 | -is-this-fft- | 157 |
7 | adamant | 155 |
8 | awoo | 154 |
8 | Dominater069 | 154 |
10 | luogu_official | 150 |
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 :)
Name |
---|
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.