在C ++ STL中设置cbegin()和cend()函数

在本文中,我们将讨论C ++ STL中的set::cend()和set::cbegin()函数,以及它们的语法,工作原理和返回值。

C ++ STL中的设置是什么?

C ++ STL中的集合是必须按常规顺序具有唯一元素的容器。集必须具有唯一元素,因为元素的值标识该元素。一旦在集合容器中添加了值,以后就无法修改,尽管我们仍然可以删除或将值添加到集合中。集用作二进制搜索树。

设置了什么:: cbegin():

cbegin()函数是C ++ STL中的内置函数,在头文件中定义。此函数返回常量迭代器,该迭代器指向set容器中的第一个元素。由于set容器中的所有迭代器都是常量迭代器,因此无法使用它们来修改内容,我们只能通过增加或减少迭代器来使用它们在set容器的元素之间进行遍历。

语法

constant_iterator name_of_set.cbegin();

参数

This function does not accept any parameter.

返回值

此函数返回constant_iterator,该序列结束之后。

示例

Input: set<int> set_a = {18, 34, 12, 10, 44};
   set_a.cbegin();
Output: Beginning element in the set container: 10

示例

#include <iostream>
#include <set>
using namespace std;
int main (){
   set<int> set_a = {18, 34, 12, 10, 44};
   cout << "Beginning element in the set container: ";
   cout<< *(set_a.cbegin());
   return 0;
}

输出结果

如果我们运行上面的代码,那么它将生成以下输出-

Beginning element in the set container: 10

示例

#include <iostream>
#include <set>
using namespace std;
int main (){
   set<int> set_a = {18, 34, 12, 10, 44};
   cout << "set_a contains:";
   for (auto it=set_a.cbegin(); it != set_a.cend(); ++it)
      cout << ' ' << *it;
   cout << '\n';
   return 0;
}

输出结果

如果我们运行上面的代码,那么它将生成以下输出-

set_a contains: 10 12 18 34 44

设置了什么:: cend()

cend()函数是C ++ STL中的内置函数,在头文件中定义。此函数返回元素的常量迭代器,该迭代器位于set容器中的最后一个元素之后。由于set容器中的所有迭代器都是常量迭代器,因此不能使用它们来修改内容,我们只能通过增加或减少迭代器来遍历set容器的元素。

语法

constant_iterator name_of_set.cend();

参数

此函数不接受任何参数。

返回值

此函数返回constant_iterator,该序列结束之后。

示例

Input: set<int> set_a = {18, 34, 12, 10, 44};
set_a.end();
Output: Past to end element: 5

set::cend()与cbegin()begin()一起用于整个集合,因为它指向容器中最后一个元素之后的元素。

示例

#include <iostream>
#include <set>
using namespace std;
int main (){
   set<int> set_a = {18, 34, 11, 10, 44};
   cout << "Past to end element: ";
   cout<< *(set_a.cend());
   return 0;
}

输出结果

如果我们运行上面的代码,那么它将生成以下输出-

Past to end element: 5We will get a random value

示例

#include <iostream>
#include <set>
using namespace std;
int main (){
   set<int> set_a = {18, 34, 12, 10, 44};
   cout << " set_a contains:";
   for (auto it= set_a.cbegin(); it != set_a.cend(); ++it)
   cout << ' ' << *it;
   cout << '\n';
   return 0;
}

输出结果

如果我们运行上面的代码,那么它将生成以下输出-

set_a contains: 10 12 18 34 44