公有成員函式
<unordered_set>

std::unordered_set::cbegin

容器迭代器 (1)
const_iterator cbegin() const noexcept;
桶迭代器 (2)
const_local_iterator cbegin ( size_type n ) const;
返回指向開頭的 const_iterator
返回一個const_iterator指向 unordered_set 容器的第一個元素 (1) 或其桶的第一個元素 (2)。

Aconst_iterator是常量內容的迭代器。此迭代器可以遞增和遞減(除非它本身也是 const),但不能用於修改它指向的內容。

引數

n
儲存桶編號。此值應小於 bucket_count
這是一個可選引數,它會改變此成員函式的行為:如果設定了,則返回的迭代器指向桶的第一個元素,否則它指向容器的第一個元素。
成員型別size_type是一種無符號整型型別。

返回值

Aconst_iterator指向容器 (1) 或桶 (2) 中的第一個元素。

兩者都const_iteratorconst_local_iterator是成員型別。在 unordered_set 類模板中,它們是 forward iterator 型別。
它們可能都是同一個迭代器型別的別名。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// unordered_set::cbegin/cend example
#include <iostream>
#include <string>
#include <unordered_set>

int main ()
{
  std::unordered_set<std::string> myset =
  {"Mercury","Venus","Earth","Mars","Jupiter","Saturn","Uranus","Neptune"};

  std::cout << "myset contains:";
  for ( auto it = myset.cbegin(); it != myset.cend(); ++it )
    std::cout << " " << *it;    // cannot modify *it
  std::cout << std::endl;

  std::cout << "myset's buckets contain:\n";
  for ( unsigned i = 0; i < myset.bucket_count(); ++i) {
    std::cout << "bucket #" << i << " contains:";
    for ( auto local_it = myset.cbegin(i); local_it!= myset.cend(i); ++local_it )
      std::cout << " " << *local_it;
    std::cout << std::endl;
  }

  return 0;
}

可能的輸出
myset contains: Venus Jupiter Neptune Mercury Earth Uranus Saturn Mars
myset's buckets contain:
bucket #0 contains:
bucket #1 contains: Venus
bucket #2 contains: Jupiter
bucket #3 contains: 
bucket #4 contains: Neptune Mercury
bucket #5 contains: 
bucket #6 contains: Earth
bucket #7 contains: Uranus Saturn
bucket #8 contains: Mars
bucket #9 contains: 
bucket #10 contains: 


複雜度

常量。

迭代器有效性

沒有變化。

另見