Einige online verfügbare Beispiele verwenden den Gleichheitsoperator, um den Inhalt von zwei STL vector
Objekten zu vergleichen, um zu verifizieren, dass sie denselben Inhalt haben.Was ist der Unterschied zwischen diesen beiden Möglichkeiten zum Vergleich von STL-Vektoren?
vector<T> v1;
// add some elements to v1
vector<T> v2;
// add some elements to v2
if (v1 == v2) cout << "v1 and v2 have the same content" << endl;
else cout << "v1 and v2 are different" << endl;
Stattdessen las ich andere Beispiele, wo die std::equal()
Funktion verwendet wird.
bool compare_vector(const vector<T>& v1, const vector<T>& v2)
{
return v1.size() == v2.size()
&& std::equal(v1.begin(), v1.end(), v2.begin());
}
Was ist der Unterschied zwischen diesen beiden Möglichkeiten zum Vergleich von STL-Vektoren?
Es gibt keinen Unterschied. –