vorrei usare le funzioni set_difference , union ecc.. sui due vettori di input mappa1 e mappa2 e mettere i risultati in mappaFinale.
in base pero' all' indice , ovvero tenere conto dell indicemappa1 / indicemappa2 e non dei dati(svariati e non relativi alle funzioni di insiemi dell std di object).codice:typedef map<int, object*> intV; intV mappa1, mappa2, mappaFinale; mappa1[0] = new object A(0, 0,0, "testo stringa0") mappa1[2] = new object A(2, 2,2, "testo stringa2") mappa1[4] = new object A(4, 4,4, "testo stringa4") mappa2[0] = new object A(2, 4,5, "testo stringa0seconda") mappa2[2] = new object A(2, 4,5, "testo stringa1seconda") mappa2[4] = new object A(2, 4,5, "testo stringa4seconda") cosi: intV::iterator it = mappafinale.begin(); set_difference(mappa1.begin(),mappa1.end(),mappa2.begin(),mappa2.end(), insert_iterator<intV>(mappafinale,it)); vector<int>::iterator itOut; for(itOut= mappaFinale.begin();itOut!= mappaFinale.end();++itOut) std::cout << *itOut<< "\n";
come si puo fare?
grazie.

Rispondi quotando