c++pair如何使用下标进行前后比较
时间: 2023-12-30 21:03:09 浏览: 136
c _map_函数.doc
在 C++ 中,`std::pair` 是一个模板类,用于存储两个不同类型的值。要使用下标进行前后比较,你需要定义一个比较函数或者使用 Lambda 表达式来实现自定义的比较规则。
下面是一个示例代码,展示了如何使用下标比较 `std::pair` 对象的第一个元素:
```cpp
#include <iostream>
#include <utility>
int main() {
std::pair<int, int> p1(1, 2);
std::pair<int, int> p2(3, 4);
auto compare = [](const std::pair<int, int>& p) {
return p.first;
};
if (compare(p1) < compare(p2)) {
std::cout << "p1 is smaller than p2" << std::endl;
} else if (compare(p1) > compare(p2)) {
std::cout << "p1 is greater than p2" << std::endl;
} else {
std::cout << "p1 is equal to p2" << std::endl;
}
return 0;
}
```
在上面的代码中,我们定义了一个 Lambda 表达式 `compare`,它接受一个 `std::pair<int, int>` 类型的参数,并返回第一个元素。然后我们通过比较 `compare(p1)` 和 `compare(p2)` 的结果来判断 `p1` 是否小于、大于或等于 `p2`。
你可以根据需要修改比较函数或者 Lambda 表达式来实现其他的比较规则,比如按第二个元素进行比较。
阅读全文