fork download
  1. #include <map>
  2. #include <string>
  3. #include <iostream>
  4.  
  5. struct point
  6. {
  7. float x;
  8. float y;
  9. };
  10.  
  11. int main()
  12. {
  13. std::map<std::string, point> m;
  14.  
  15. // Einfügen über operator []
  16. m["Blubb"] = point{435.6, 234.2};
  17.  
  18. // Einfügen über insert
  19. m.insert(std::make_pair("FooBar", point{654.3, 345.8}));
  20.  
  21. // Auslesen über operator []
  22. // Wenn noch nicht in map wird ein point default-initialisiert angelegt.
  23. auto& p1 = m["FooBar"];
  24. auto& p2 = m["DoesNotExistYet"];
  25. std::cout << "FooBar" << ": " << p1.x << " - " << p1.y << '\n';
  26. std::cout << "DoesNotExistYet" << ": " << p2.x << " - " << p2.y << '\n';
  27.  
  28. // Auslesen über find (wenn man wissen will, ob ein Eintrag überhaupt existiert oder nicht)
  29. auto found = m.find("Blubb");
  30. if (found != m.end())
  31. std::cout << found->first << ": " << found->second.x << " - " << found->second.y << '\n';
  32. }
Success #stdin #stdout 0s 3432KB
stdin
Standard input is empty
stdout
FooBar: 654.3 - 345.8
DoesNotExistYet: 0 - 0
Blubb: 435.6 - 234.2