C++ STL 中 map 的 cbegin() 和 cend() 函数
在本文中,我们将讨论 C++ STL 中 map::cbegin() 和 map::cend() 函数的工作原理、语法和示例。
什么是 C++ STL 中的 Map?
Map 是关联容器,它可以方便地按特定顺序存储由键值对组成的元素。在 map 容器中,数据内部始终通过其关联的键进行排序。map 容器中的值通过其唯一的键进行访问。
什么是 map::cbegin()?
map::cbegin() function is an inbuilt function in C++ STL, which is defined in <map> header file. cbegin() is the constant begin function.
此函数返回一个指向 map 容器中第一个元素的常量迭代器。返回的迭代器是常量迭代器,不能用于修改内容。可以使用它们通过增加或减少迭代器来遍历 map 容器中的元素。
语法
newmap.cbegin();
参数
此函数不接受任何参数。
返回值
它返回一个指向关联 map 容器中第一个元素的迭代器。
示例
输入
map<char, int> newmap; newmap[‘a’] = 1; newmap[‘b’] = 2; newmap[‘c’] = 3; newmap.cbegin();
输出
a = 1
示例
#include <bits/stdc++.h> using namespace std; int main() { map<int, int> TP_Map; TP_Map.insert({3, 50}); TP_Map.insert({2, 30}); TP_Map.insert({1, 10}); TP_Map.insert({4, 70}); //using map::cbegin to fetch first element auto temp = TP_Map.cbegin(); cout <<"First element is: "<<temp->first << " -> " << temp->second; cout<<"\nTP Map is : \n"; cout << "MAP_KEY\tMAP_ELEMENT\n"; for (auto i = TP_Map.cbegin(); i!= TP_Map.cend(); i++) { cout << i->first << "\t" << i->second << endl; } return 0; }
输出
First element is: 1 -> 10 TP Map is: MAP_KEY MAP_ELEMENT 1 10 2 30 3 50 4 70
什么是 map::cend()?
map::cend() 函数是 C++ STL 中的内置函数,定义在……
返回的迭代器是常量迭代器,不能用于修改内容,可以使用它们通过增加或减少迭代器来遍历 map 容器中的元素。
map::cbegin() 和 map::cend() 用于通过给出范围的开始和结束来遍历整个容器。
语法
newmap.cend();
参数
此函数不接受任何参数。
返回值
它返回一个指向关联 map 容器中最后一个元素之后的迭代器。
示例
输入
map<char, int> newmap; newmap[‘a’] = 1; newmap[‘b’] = 2; newmap[‘c’] = 3; newmap.cend();
输出
error
示例
#include <bits/stdc++.h> using namespace std; int main() { map<int, int> TP_Map; TP_Map.insert({3, 50}); TP_Map.insert({2, 30}); TP_Map.insert({1, 10}); TP_Map.insert({4, 70}); cout<<"\nTP Map is : \n"; cout << "MAP_KEY\tMAP_ELEMENT\n"; for (auto i = TP_Map.cbegin(); i!= TP_Map.cend(); i++) { cout << i->first << "\t" << i->second << endl; } return 0; }
输出
TP Map is: MAP_KEY MAP_ELEMENT 1 10 2 30 3 50 4 70
广告