C++ STL中的multiset cbegin()和cend()函数
multiset::cbegin() 是C++ STL中的内置函数,用于返回一个指向容器中第一个元素的常量迭代器。迭代器不能用于修改集合容器中的元素。迭代器可以逐个增加或减少以遍历集合。
语法:
constant_iterator multiset_name.cbegin()
参数: 该函数不接受任何参数。
返回值: 该函数返回一个指向容器中第一个元素的常量迭代器。
下面的程序说明了multiset::cbegin()方法。
// C++程序演示
// multiset::cbegin()函数
#include <bits/stdc++.h>
using namespace std;
int main()
{
int arr[] = { 14, 10, 15, 11, 10 };
// 从数组初始化集合
multiset<int> s(arr, arr + 5);
// 打印第一个元素
cout << "第一个元素是: " << *(s.cbegin()) << endl;
// 打印集合中的所有元素
for (auto it = s.cbegin(); it != s.cend(); it++)
cout << *it << " ";
return 0;
}
输出:
第一个元素是: 10
10 10 11 14 15
multiset::cend() 是C++ STL中的内置函数,用于返回一个常量迭代器,该迭代器指向容器中最后一个元素之后的位置。迭代器不能用于修改集合容器中的元素。迭代器可以逐个增加或减少以遍历集合。
语法:
constant_iterator multiset_name.cend()
参数: 该函数不接受任何参数。
返回值: 该函数返回一个指向容器中最后一个元素之后位置的常量迭代器。
下面的程序说明了multiset::cend()方法。
// C++程序演示multiset::cend()函数
#include <bits/stdc++.h>
using namespace std;
int main()
{
int arr[] = { 14, 10, 15, 11, 10, 15, 17, 17 };
// 从数组初始化集合
multiset<int> s(arr, arr + 8);
// 打印集合中的所有元素
for (auto it = s.cbegin(); it != s.cend(); it++)
cout << *it << " ";
return 0;
}
输出:
10 10 11 14 15 15 17 17
让我们以表格形式看到差异 -:
ID | multiset cbegin() | multiset cend() |
---|---|---|
1. | 它用于返回指向容器中第一个元素的const_iterator。 | 它用于返回指向超出最后一个元素之后位置的const_iterator。 |
2. | 其语法为-:const_iterator cbegin(); | 其语法为-:const_iterator cend(); |
3. | 它不接受任何参数。 | 它不接受任何参数。 |
4. | 它的复杂度为常数。 | 它的复杂度为常数。 |
5. | 其迭代器有效性不会改变。 | 其迭代器有效性不会改变。 |