std::equal 有什么功能
时间: 2024-09-09 09:09:37 浏览: 24
std map容器用法总结
4星 · 用户满意度95%
`std::equal` 是C++标准库中的一个算法,主要用于比较两个范围(如容器的迭代器)内的元素是否相等。它属于 `<algorithm>` 头文件中的成员函数,其原型通常如下:
```cpp
// C++14及以前版本
bool equal(const_iterator first1, const_iterator last1,
const_iterator first2);
// C++14及以后版本
constexpr bool equal(const_iterator first1, const_iterator last1,
const_iterator first2);
```
这里的 `first1` 和 `last1` 是第一个范围的开始和结束迭代器,`first2` 是第二个范围的开始迭代器。该函数会逐个比较两个范围内元素,如果所有对应位置的元素相等,则返回 `true`,否则返回 `false`。
例如,你可以这样使用 `std::equal` 来检查两个数组是否完全相同:
```cpp
#include <iostream>
#include <algorithm>
int main() {
int arr1[] = {1, 2, 3};
int arr2[] = {1, 2, 3};
bool result = std::equal(arr1, arr1 + 3, arr2); // 比较arr1和arr2
if (result)
std::cout << "Arrays are equal.\n";
else
std::cout << "Arrays are not equal.\n";
return 0;
}
```
阅读全文