[C con Clase] duda map
Steven Davidson
srd4121 en njit.edu
Mie Sep 14 12:22:06 CEST 2011
Hola Omar,
2011/9/14 omar mendoza <omar.p9 en gmail.com>:
> hola, tengo una duda con map
> si tengo
> template<class T>
> map<string, T *> m;
> si pido un elemento
> m["algo"];
> y ese elemento no existe, entonces ¿m["algo"] regresa NULL?
>
No. Lo que sucede es que crea un nuevo elemento y lo inserta en el
mapa basándose en esa clave, que en tu ejemplo es "algo" y entonces
retorna una referencia a ese elemento. Así podrías hacer esto:
m["algo"] = new Objeto;
En general, se instanciará el elemento usando su constructor por defecto.
Si quieres buscar si un elemento con tal clave, entonces usa
'count()', la cual te da 1 si lo encuentro y 0 si no.
Espero que esto te ayude.
Steven
Más información sobre la lista de distribución Cconclase