C++标准库的std::equal函数。这个函数用于比较两个范围的元素是否相等。
在使用std::equal函数时,您需要提供两个范围的迭代器,以及一个可选的谓词函数(predicate)。函数会比较第一个范围内的元素和第二个范围内的元素是否相等。如果所有元素都相等,则返回true;否则返回false。
以下是一个使用std::equal函数的示例代码:
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main()
{
std::vector<int> vec1 {1, 2, 3, 4, 5};
std::vector<int> vec2 {1, 2, 3, 4, 5};
std::vector<int> vec3 {1, 2, 3, 4, 6};
bool result1 = std::equal(vec1.begin(), vec1.end(), vec2.begin(), vec2.end());
bool result2 = std::equal(vec1.begin(), vec1.end(), vec3.begin(), vec3.end());
if (result1)
{
std::cout << "vec1 and vec2 are equal." << std::endl;
}
else
{
std::cout << "vec1 and vec2 are not equal." << std::endl;
}
if (result2)
{
std::cout << "vec1 and vec3 are equal." << std::endl;
}
else
{
std::cout << "vec1 and vec3 are not equal." << std::endl;
}
return 0;
}
在这个例子中,我们有三个向量:vec1,vec2和vec3。vec1和vec2包含相同的元素,而vec3在最后一个元素上有所不同。
我们使用std::equal函数来比较vec1和vec2以及vec1和vec3。结果表明vec1和vec2相等,而vec1和vec3不相等。因此,我们会得到以下输出:
vec1 and vec2 are equal.
vec1 and vec3 are not equal.