Initialisierung einer map
-
Hallo,
Ich habe eine map mit einer selbstdefinierten struct als Wert :
map<int, MY_STRUCT> MY_MAP;
Ist es möglich, diese Map sofort zu initialisieren, d.h. dem Strukturelement direkt bei der Anlage eines Map - Elements Werte zuzuweisen ?
Momentan mache ich das so :
...
// Hilfsstruktur fuer Initialisierung
MY_STRUCT str;// die Map
map<int, MY_STRUCT> MY_MAP;// Werte fuer erstes Element initialisieren
str.uiLaenge = 20;
str.uiBreite = 10;// Wert der Map zuweisen
MY_MAP[1] = str;--> usw.
Geht das nicht einfacher ?
Vielen Dank für eure Hilfe.
-
Hallo
Estwas vereinfachen kannst du es schon, wenn MY_STRUCT einen geeigneten Konstruktor hat :
MY_MAP.insert(std::make_pair(1, MY_STRUCT(10, 20)));
bis bald
akari
-
Vielen Dank für die schnelle Hilfe.
Ich hatte gehofft, dass eine Möglichkeit ähnlich der Initialisierung einer Struktur bei deren Deklaration existiert. aber auch dieser Tip hilft mir weiter, da er auch den Code reduziert.
-
Hallo
Nein so eine Initialisierung wie du meinst gibt es wohl erst im nächsten C++ Standard.
bis bald
akari