#include <iostream>
#include <map>
using namespace std;
void printMap(const std::map<int, double>& m)
{
for (auto kv : m)
{
std::cout << '{' << kv.first << ", " << kv.second << '}';
}
std::cout << '\n';
}
int main() {
std::cout << "erase by iterator:\n";
std::map<int, double> m1 = { { 1, 1.1 }, { 2, 2.2 }, { 3, 3.3 } };
printMap(m1);
m1.erase(m1.find(2));
printMap(m1);
std::cout << "erase by key:\n";
std::map<int, double> m2 = { { 1, 1.1 }, { 2, 2.2 }, { 3, 3.3 } };
printMap(m2);
m2.erase(2);
printMap(m2);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWFwPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBwcmludE1hcChjb25zdCBzdGQ6Om1hcDxpbnQsIGRvdWJsZT4mIG0pCnsKCWZvciAoYXV0byBrdiA6IG0pCgl7CgkJc3RkOjpjb3V0IDw8ICd7JyA8PCBrdi5maXJzdCA8PCAiLCAiIDw8IGt2LnNlY29uZCA8PCAnfSc7Cgl9CglzdGQ6OmNvdXQgPDwgJ1xuJzsKfQoKaW50IG1haW4oKSB7CglzdGQ6OmNvdXQgPDwgImVyYXNlIGJ5IGl0ZXJhdG9yOlxuIjsKCXN0ZDo6bWFwPGludCwgZG91YmxlPiBtMSA9IHsgeyAxLCAxLjEgfSwgeyAyLCAyLjIgfSwgeyAzLCAzLjMgfSB9OwoJcHJpbnRNYXAobTEpOwoJbTEuZXJhc2UobTEuZmluZCgyKSk7CglwcmludE1hcChtMSk7CgkKCXN0ZDo6Y291dCA8PCAiZXJhc2UgYnkga2V5OlxuIjsKCXN0ZDo6bWFwPGludCwgZG91YmxlPiBtMiA9IHsgeyAxLCAxLjEgfSwgeyAyLCAyLjIgfSwgeyAzLCAzLjMgfSB9OwoJcHJpbnRNYXAobTIpOwoJbTIuZXJhc2UoMik7CglwcmludE1hcChtMik7CglyZXR1cm4gMDsKfQ==
erase by iterator:
{1, 1.1}{2, 2.2}{3, 3.3}
{1, 1.1}{3, 3.3}
erase by key:
{1, 1.1}{2, 2.2}{3, 3.3}
{1, 1.1}{3, 3.3}