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


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


unordered_map::cend()是C++ STL中的內置函數,該函數返回一個迭代器,該迭代器指向容器中或其中一個存儲桶中結束元素之後的位置。在unordered_map對象中,不能保證將哪個特定元素視為其第一個元素。但是容器中的所有元素都被覆蓋了,因為範圍從其開始到結束直到無效。

此函數有兩種變體。
語法1:

unordered_map.cend()

參數:該函數不接受任何參數。
返回類型:該函數將迭代器返回到容器末尾的元素。



// CPP program to illustrate 
// unordered_map cend() 
#include <bits/stdc++.h> 
using namespace std; 
  
int main() 
{ 
  
    unordered_map<int, int> ump; 
  
    // inserting data into unordered_map 
    ump[1] = 2; 
    ump[3] = 4; 
    ump[5] = 6; 
  
    // here 'it' can not be modified 
    for (auto it = ump.cbegin(); it != ump.cend(); ++it) 
        cout << it->first << " " << it->second << endl; 
    return 0; 
}
輸出:
5 6
1 2
3 4

語法2:

unordered_map.cend ( size n )

參數:此函數接受參數大小n,該大小應小於存儲桶數。返回類型:函數將迭代器返回到其存儲桶計數之一。

// CPP program to illustrate 
// unordered_map cend() 
#include <bits/stdc++.h> 
using namespace std; 
  
int main() 
{ 
  
    unordered_map<int, int> ump; 
  
    // inserting data into unordered_map 
    ump[1] = 2; 
    ump[3] = 4; 
    ump[5] = 6; 
  
    cout << "unordered_map bucket contains \n"; 
    for (int i = 0; i < ump.bucket_count(); i++) { 
        cout << "Bucket " << i << " contains "; 
        for (auto it = ump.cbegin(i); it != ump.cend(i); ++it) 
            cout << it->first << " " << it->second; 
        cout << endl; 
    } 
  
    return 0; 
}
輸出:
unordered_map bucket contains 
Bucket 0 contains 
Bucket 1 contains 1 2
Bucket 2 contains 
Bucket 3 contains 3 4
Bucket 4 contains 
Bucket 5 contains 5 6
Bucket 6 contains

cend()與有什麽不同C++ - unordered_map end( )用法及代碼示例
cend()是end()的常量版本。同樣,cbegin()是begin()的const版本。例如,以下代碼顯示了編譯器錯誤,因為我們嘗試在迭代器中修改值。

// CPP program to illustrate 
// unordered_map cend() 
#include <bits/stdc++.h> 
using namespace std; 
  
int main() 
{ 
  
    unordered_map<int, int> ump; 
  
    // inserting data into unordered_map 
    ump[1] = 2; 
    ump[3] = 4; 
    ump[5] = 6; 
  
    // here 'it' can not be modified 
    for (auto it = ump.cbegin(); it != ump.cend(); ++it) 
        it->second = 10;  // COMPILER ERROR 
    return 0; 
}

輸出:

Compilation Error in CPP code:- prog.cpp:In function 'int main()':
prog.cpp:19:20:error:assignment of member 'std::pair::second' in read-only object
         it->second = 10;  // COMPILER ERROR



相關用法


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