当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。