在C ++ STL中设置cbegin()和cend()函数
在本文中,我们将讨论C++STL中的set::cend()和set::cbegin()函数,以及它们的语法,工作原理和返回值。
C++STL中的设置是什么?
C++STL中的集合是必须按常规顺序具有唯一元素的容器。集必须具有唯一元素,因为元素的值标识该元素。一旦在集合容器中添加了值,以后就无法修改,尽管我们仍然可以删除或将值添加到集合中。集用作二进制搜索树。
设置了什么::cbegin():
cbegin()函数是C++STL中的内置函数,在头文件中定义。此函数返回常量迭代器,该迭代器指向set容器中的第一个元素。由于set容器中的所有迭代器都是常量迭代器,因此无法使用它们来修改内容,我们只能通过增加或减少迭代器来使用它们在set容器的元素之间进行遍历。
语法
constant_iteratorname_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