PDA

Visualizza la versione completa : [c++]Compare array e stl


giuseppe500
24-08-2010, 09:28
Ciao.
Devo effettuare dei test su vari oggetti di varie classi per controllare che siano uguali o meno.
Per quanto riguarda gli array di primitive(float,int ecc...) pensavo di utilizzare una funzione tipo memcmp , per gli array stl esiste qualcosa di gia pronto?
o basta testare l'ugualianza?
vector1 == vector2 ?

MItaly
25-08-2010, 21:45
I container stl non ridefiniscono l'operatore ==, ma puoi sempre usare l'algoritmo std::equal (http://www.cplusplus.com/reference/algorithm/equal/) per effettuare il tuo confronto; puoi eventualmente scrivere un helper di questo genere:


template<typename C1, typename C2>
bool Compare(C1 cont1, C2 cont2)
{
return cont1.size()==cont2.size() && equal(cont1.begin(), cont1.end(), cont2.begin());
}

Loading