C++ multiset cbegin() 函数用于返回一个常量迭代器,指向 multiset 容器的第一个元素。
用法
const_iterator cbegin() const noexcept; //since C++ 11
const_iterator 是一个指向常量内容的迭代器。
参数
空
返回值
cbegin() 函数返回一个 const_iterator 指向多重集的第一个元素。
复杂度
持续的
迭代器有效性
没有变化。
数据竞争
容器被访问。
同时访问多集容器的元素是安全的。
异常安全
此成员函数从不抛出异常。
例子1
让我们看看 cbegin() 函数的简单示例:
#include <iostream>
#include <set>
using namespace std;
int main ()
{
multiset<string> mymultiset= {"Java", "C","SQL","C++" };
// show content
for (auto it = mymultiset.cbegin(); it != mymultiset.cend(); ++it)
cout <<*it << '\n';
return 0;
}
输出:
C C++ Java SQL
在上面的例子中,cbegin() 函数用于返回一个指向 mymultiset 多重集中第一个元素的常量迭代器。
例子2
让我们看一个简单的例子:
#include <set>
#include <iostream>
int main( )
{
using namespace std;
multiset <int> s1;
multiset <int>::iterator s1_Iter;
multiset <int>::const_iterator s1_cIter;
s1.insert( 1 );
s1.insert( 2 );
s1.insert( 3 );
s1.insert( 2 );
s1_Iter = s1.begin( );
cout << "The first element of s1 is " << *s1_Iter << endl;
s1_Iter = s1.begin( );
s1.erase( s1_Iter );
// The following 2 lines would err because the iterator is const
// s1_cIter = s1.begin( );
// s1.erase( s1_cIter );
s1_cIter = s1.begin( );
cout << "The first element of s1 is now " << *s1_cIter << endl;
}
输出:
The first element of s1 is 1 The first element of s1 is now 2
例子3
让我们看一个使用 while 循环遍历多重集的简单示例:
#include <iostream>
#include <set>
#include <string>
int main()
{
using namespace std;
multiset<string> mymultiset = {"Robin","Dolly", "John","Nikita","Nikita"};
multiset<string>::const_iterator it; // declare an iterator
it = mymultiset.cbegin(); // assign it to the start of the vector
while (it != mymultiset.cend()) // while it hasn't reach the end
{
cout << *it<< "\n";
// print the value of the element it points to
++it; // and iterate to the next element
}
cout << endl;
}
输出:
Dolly John Nikita Nikita Robin
在上面的例子中, cbegin() 函数用于返回一个指向 mymultiset 多集中第一个元素的迭代器。
示例 4
让我们看另一个简单的例子:
#include <iostream>
#include <string>
#include <set>
using namespace std;
int main ()
{
multiset<int> number = {400, 350, 465, 290, 410, 400};
cout << "Increasing order:" << '\n';
cout<<"______________________\n";
multiset<int>::const_iterator cit;
for (cit=number.cbegin(); cit!=number.cend(); ++cit)
cout << *cit<< '\n';
auto low = number.cbegin();
auto high = number.rbegin();
cout << "\nSmallest Number is:"<< *low <<endl;
cout<< "Biggest Number is:"<<*high <<endl;
return 0;
}
输出:
Increasing order: ______________________ 290 350 400 400 410 465 Smallest Number is:290 Biggest Number is:465
在上面的例子中, cbegin() 函数用于返回一个指向 mymultiset 多集中第一个元素的迭代器。
相关用法
- C++ multiset cbegin()、cend()用法及代码示例
- C++ multiset crbegin()、crend()用法及代码示例
- C++ multiset crbegin()用法及代码示例
- C++ multiset count()用法及代码示例
- C++ multiset crend()用法及代码示例
- C++ multiset cend()用法及代码示例
- C++ multiset clear()用法及代码示例
- C++ multiset begin()、end()用法及代码示例
- C++ multiset value_comp()用法及代码示例
- C++ multiset emplace()用法及代码示例
- C++ multiset lower_bound()用法及代码示例
- C++ multiset insert()用法及代码示例
- C++ multiset max_size()用法及代码示例
- C++ multiset rbegin()、rend()用法及代码示例
- C++ multiset find()用法及代码示例
- C++ multiset begin()用法及代码示例
- C++ multiset size()用法及代码示例
- C++ multiset get_allocator()用法及代码示例
- C++ multiset empty()用法及代码示例
- C++ multiset rend()用法及代码示例
注:本文由纯净天空筛选整理自 C++ multiset cbegin()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。