[C con Clase] En relación a map.
Davidson, Steven
srd4121 en njit.edu
Sab Dic 28 19:01:31 CET 2013
Hola Miguel Ángel,
2013/12/28 Miguel Ángel Torres Fernández-Píñar <
miguelangeltorresfp en gmail.com>
> Buenos días, esta pregunta es muy cortita.
>
> Hay algún tipo de contenedor en el que pueda almacenar parejas de objetos,
> pero que luego pueda buscar por cualquiera de ellos ???
>
> Es decir, un "map" me permite buscar por el campo que sea la clave, pero
> cómo podría hacer para buscar también por el otro valor ???
>
Creo que es más sencillo usar iteradores y hacer la búsqueda tú mismo. Por
ejemplo,
class A {...};
class B {...};
...
std :: map<A,B> mapaAB;
A obj;
std :: vector listaClaves;
for( std :: map<A,B> :: const_iterator cit = mapaAB.begin(); cit !=
mapaAB.end(); cit++ )
if( (*cit).second == obj ) // Comparamos valores del mapa
listaClaves.push_back( (*cit).first ); // Guardamos las claves de los
objetos que hemos encontrado
Es posible que tengas que definir el operador == para comparar objetos.
Espero que esto te sirva.
Steven
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20131228/1f33d379/attachment.html>
Más información sobre la lista de distribución Cconclase