Kilka przykładów dostępnych w Internecie używa operatora równości do porównania zawartości dwóch obiektów STL vector
w celu sprawdzenia, czy mają tę samą treść.Jaka jest różnica między tymi dwoma sposobami porównywania wektorów STL?
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;
Zamiast tego czytam inne przykłady, w których użyto funkcji std::equal()
.
bool compare_vector(const vector<T>& v1, const vector<T>& v2)
{
return v1.size() == v2.size()
&& std::equal(v1.begin(), v1.end(), v2.begin());
}
Jaka jest różnica między tymi dwoma sposobami porównywania wektorów STL?
Nie ma różnicy. –