Gemäß http://www.cplusplus.com/reference/map/map/ kann ich entweder m[k]
oder m.at(k)
verwenden, um auf den Wert eines Schlüssels k
in einer Karte m
zuzugreifen. Allerdings, wenn ichStd :: Kartenzugriffsoperator veraltet? no operator [] stimmt mit diesen Operanden überein
derivMap[fx]
in meinem Code zu tun versuchen, wo derivMap ist ein Element des Typs std::map<std::string,std::string>
Visual Studio 2013 gibt mir die Warnung
kein Operator [] entspricht diese Operanden
Allerdings, wenn ich meinen Code
ändernderivMap.at(fx)
Ich bekomme keinen Fehler. Haben Sie einen Einblick in dieses Thema?
Ich bevorzuge '.find' zu' .at'. Ich benutze niemals '.at'. –
@MooingDuck Ich denke, es hängt davon ab, ob die Abwesenheit eines Elements ein Fehler ist oder nicht (und ob Sie C++ 11 haben.) – juanchopanza