In base a http://www.cplusplus.com/reference/map/map/, è possibile utilizzare m[k]
o m.at(k)
per accedere al valore di una chiave in una mappa m
. Tuttavia, quando provo a farestd :: Operatore di accesso alla mappa deprecato? nessun operatore [] corrisponde a questi operandi
derivMap[fx]
nel mio codice, in cui derivMap è un elemento di tipo std::map<std::string,std::string>
Visual Studio 2013 mi dà l'avviso
nessun operatore [] corrisponde a questi operandi
Tuttavia, quando cambio il mio codice per
derivMap.at(fx)
Non ho alcun errore. Avete qualche idea di questo problema?
Preferisco '.find' a' .at'. Non uso mai '.at'. –
@MooingDuck Suppongo che dipenda dal fatto che l'assenza di un elemento sia un errore o meno (e se si abbia C++ 11). – juanchopanza