[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