當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C++ unordered_map cbegin用法及代碼示例


c ++中的cbegin函數用於返回一個常量迭代器,該迭代器指向無序映射中的第一個元素。

用法:

unordered_map.cbegin()

參數:它帶有一個可選參數N。如果設置,返回的迭代器將指向存儲桶的第一個元素,否則將指向容器的第一個元素。



返回值:指向unordered_map的第一個元素的常量迭代器。

以下示例程序旨在說明cbegin函數的工作方式:

// CPP program to demonstrate implementation of 
// cbegin function in unordered_map 
#include <bits/stdc++.h> 
using namespace std; 
  
int main() 
{ 
    unordered_map<string, int> mp; 
  
    // Adding some elements in the unordered_map 
    mp["g"] = 1; 
    mp["e"] = 2; 
    mp["k"] = 4; 
    mp["s"] = 5; 
  
    cout << "Contents of the unordered_map:\n"; 
    for (auto it = mp.cbegin(); it != mp.cend(); it++) 
        cout << it->first << "==>>"
             << it->second << "\n"; 
}
輸出:
Contents of the unordered_map:
s==>>5
k==>>4
g==>>1
e==>>2

cbegin()函數返回常量迭代器。如果嘗試更改值,則會出現編譯器錯誤。

// CPP program to demonstrate implementation of 
// cbegin function in unordered_map 
#include <bits/stdc++.h> 
using namespace std; 
  
int main() 
{ 
    unordered_map<string, int> mp; 
  
    // Adding some elements in the unordered_map 
    mp["g"] = 1; 
    mp["e"] = 2; 
    mp["k"] = 4; 
    mp["s"] = 5; 
  
    cout << "Contents of the unordered_map:\n"; 
    for (auto it = mp.cbegin(); it != mp.cend(); it++) 
        it->second = 10; // This would cause compiler error 
}

輸出:


prog.cpp:In function 'int main()':
prog.cpp:18:20:error:assignment of member 'std::pair, int>::second' in read-only object
         it->second = 10; // This would cause compiler error
                    ^

時間複雜度:平均O(1)。




相關用法


注:本文由純淨天空篩選整理自DrRoot_大神的英文原創作品 unordered_map cbegin in C++ STL。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。