Hvis ikke du har arbejdet med std::map før er det måske en lidt stor mundfuld, du kan læse mere om dem her:
http://www.sgi.com/tech/stl/Map.html(Jeg kan specielt godt lide deres bemærkning: "Note that the definition of operator[] is extremely simple: m[k] is equivalent to (*((m.insert(value_type(k, data_type()))).first)).second.")
En std::map er en container, der indeholder par (std::pair), den ene værdi er key/first og den anden værdi er data/second. Data i en std::map er altid sorteret efter key/first.
I mit eksempel er key en std::string, dette er navnet på kontrollen, så mappen er altid sorteret efter navn. data er i eksemplet en TEdit *
Linien:
std::map<std::string, TEdit *>MyMap;
Oprtter en tom mappe med disse egenskaber.
Denne linie:
MyMap["Edit1"] = Edit1;
Sætter element ["Edit1"] til at indeholde Edit1, da der ikke findes et sådant element vil det blive oprettet.
Denne linie:
MyMap["Edit1"]->Text = "Whatever";
Slår op i mappen, finder det element der har navn "Edit1" (dvs Edit1), og sætter dens Text til "Whatever".
Vi kan også sige at en std::map opfører sig som et dynamisk array, hvor man kan bruge hvad som helst som index (det skal blot være sammenlignelig).