map::value_comp函数的实例
时间: 2024-02-12 09:06:57 浏览: 29
下面是一个使用map::value_comp函数的示例:
```cpp
#include <iostream>
#include <map>
int main() {
std::map<int, std::string> myMap = {{1, "one"}, {2, "two"}, {3, "three"}};
// 构造一个比较器对象
std::map<int, std::string>::value_compare myComp = myMap.value_comp();
// 使用比较器对象进行比较
std::cout << "map elements in ascending order:\n";
for (auto it = myMap.begin(); it != myMap.end(); ++it) {
std::cout << it->first << ": " << it->second << '\n';
}
std::cout << "\nmap elements in descending order:\n";
for (auto it = myMap.rbegin(); it != myMap.rend(); ++it) {
std::cout << it->first << ": " << it->second << '\n';
}
return 0;
}
```
这个示例中,我们首先创建了一个包含三个键值对的map对象。然后,使用map::value_comp()函数构造了一个比较器对象myComp。这个比较器对象可以用于比较map中的元素。
在示例中,我们使用比较器对象myComp分别按照升序和降序输出了map中的元素。在升序中,我们直接使用map对象的迭代器进行遍历输出。在降序中,我们使用反向迭代器rbegin()和rend()进行遍历输出。
输出结果如下:
```
map elements in ascending order:
1: one
2: two
3: three
map elements in descending order:
3: three
2: two
1: one
```