在C ++ STL中映射cbegin()和cend()函数

在本文中,我们将讨论C ++ STL中map::cbegin()和map::cend()函数的工作,语法和示例。

什么是C ++ STL中的映射?

映射是关联容器,它有助于按特定顺序存储由键值和映射值的组合形成的元素。在映射容器中,数据始终在内部借助其关联的键进行排序。映射容器中的值通过其唯一键访问。

什么是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.

此函数返回指向映射容器中第一个元素的常量迭代器。返回的迭代器是常量迭代器,不能用于修改内容。我们可以通过增加或减少迭代器来使用它们遍历映射容器的元素

语法

newmap.cbegin();

参数

此函数不接受任何参数。

返回值

它返回一个指向关联映射容器第一个元素的迭代器。

示例

输入项

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});
   //使用map::cbegin获取第一个元素
   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中的内置函数,该函数在  header file. cend() function is the constant end (). This function returns the constant iterator of the element which is past the last element in the associated map container.

返回的迭代器是常量迭代器,它们不能用于修改内容,我们可以通过增加或减少迭代器来使用它们在映射容器的元素之间进行遍历。

map::cbegin()和map::cend()用于通过给出范围的起点和终点来遍历整个容器。

语法

newmap.cend();

参数

此函数不接受任何参数。

返回值

它返回一个迭代器,该迭代器指向关联的映射容器的最后一个元素。

示例

输入项

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