#include <map>
#include <string>
#include <iostream>
struct point
{
float x;
float y;
};
int main()
{
std::map<std::string, point> m;
// Einfügen über operator []
m["Blubb"] = point{435.6, 234.2};
// Einfügen über insert
m.insert(std::make_pair("FooBar", point{654.3, 345.8}));
// Auslesen über operator []
// Wenn noch nicht in map wird ein point default-initialisiert angelegt.
auto& p1 = m["FooBar"];
auto& p2 = m["DoesNotExistYet"];
std::cout << "FooBar" << ": " << p1.x << " - " << p1.y << '\n';
std::cout << "DoesNotExistYet" << ": " << p2.x << " - " << p2.y << '\n';
// Auslesen über find (wenn man wissen will, ob ein Eintrag überhaupt existiert oder nicht)
auto found = m.find("Blubb");
if (found != m.end())
std::cout << found->first << ": " << found->second.x << " - " << found->second.y << '\n';
}
I2luY2x1ZGUgPG1hcD4gCiNpbmNsdWRlIDxzdHJpbmc+IAojaW5jbHVkZSA8aW9zdHJlYW0+IAogIApzdHJ1Y3QgcG9pbnQgCnsgCiAgICBmbG9hdCB4OyAKICAgIGZsb2F0IHk7IAp9OyAKICAKaW50IG1haW4oKSAKeyAKICAgIHN0ZDo6bWFwPHN0ZDo6c3RyaW5nLCBwb2ludD4gbTsgCiAgCiAgICAvLyBFaW5mw7xnZW4gw7xiZXIgb3BlcmF0b3IgW10gCiAgICBtWyJCbHViYiJdID0gcG9pbnR7NDM1LjYsIDIzNC4yfTsgCiAgCiAgICAvLyBFaW5mw7xnZW4gw7xiZXIgaW5zZXJ0IAogICAgbS5pbnNlcnQoc3RkOjptYWtlX3BhaXIoIkZvb0JhciIsIHBvaW50ezY1NC4zLCAzNDUuOH0pKTsgCiAgICAKICAgIC8vIEF1c2xlc2VuIMO8YmVyIG9wZXJhdG9yIFtdIAogICAgLy8gV2VubiBub2NoIG5pY2h0IGluIG1hcCB3aXJkIGVpbiBwb2ludCBkZWZhdWx0LWluaXRpYWxpc2llcnQgYW5nZWxlZ3QuIAogICAgYXV0byYgcDEgPSBtWyJGb29CYXIiXTsgCiAgICBhdXRvJiBwMiA9IG1bIkRvZXNOb3RFeGlzdFlldCJdOyAKICAgIHN0ZDo6Y291dCA8PCAiRm9vQmFyIiA8PCAiOiAiIDw8IHAxLnggPDwgIiAtICIgPDwgcDEueSA8PCAnXG4nOyAKICAgIHN0ZDo6Y291dCA8PCAiRG9lc05vdEV4aXN0WWV0IiA8PCAiOiAiIDw8IHAyLnggPDwgIiAtICIgPDwgcDIueSA8PCAnXG4nOyAKICAKICAgIC8vIEF1c2xlc2VuIMO8YmVyIGZpbmQgKHdlbm4gbWFuIHdpc3NlbiB3aWxsLCBvYiBlaW4gRWludHJhZyDDvGJlcmhhdXB0IGV4aXN0aWVydCBvZGVyIG5pY2h0KSAKICAgIGF1dG8gZm91bmQgPSBtLmZpbmQoIkJsdWJiIik7IAogICAgaWYgKGZvdW5kICE9IG0uZW5kKCkpIAogICAgICAgIHN0ZDo6Y291dCA8PCBmb3VuZC0+Zmlyc3QgPDwgIjogIiA8PCBmb3VuZC0+c2Vjb25kLnggPDwgIiAtICIgPDwgZm91bmQtPnNlY29uZC55IDw8ICdcbic7IAp9