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


C++ Set cbegin()、cend()用法及代碼示例


在本文中,我們將討論 C++ STL 中的 set::cend() 和 set::cbegin() 函數、它們的語法、工作和返回值。

C++ STL 中的 Set 是什麽?

C++ STL 中的集合是容器,它們必須按一般順序具有唯一元素。集合必須具有唯一的元素,因為元素的值標識了元素。一旦在 set 容器中添加了一個值,以後就無法修改,盡管我們仍然可以將這些值刪除或添加到 set 中。集合用作二叉搜索樹。

什麽是 set::cbegin():

cbegin() 函數是 C++ STL 的內置函數,定義在頭文件中。此函數返回指向集合容器中第一個元素的常量迭代器。由於集合容器中的所有迭代器都是常量迭代器,它們不能用來修改內容,隻能通過增加或減少迭代器來使用它們在集合容器的元素之間進行遍曆。

用法

constant_iterator name_of_set.cbegin();

參數

This function does not accept any parameter.

返回值

此函數返回 constant_iterator,它已超出序列末尾。

示例

Input:set<int> set_a = {18, 34, 12, 10, 44};
   set_a.cbegin();
Output:Beginning element in the set container:10

示例

#include <iostream>
#include <set>
using namespace std;
int main (){
   set<int> set_a = {18, 34, 12, 10, 44};
   cout << "Beginning element in the set container:";
   cout<< *(set_a.cbegin());
   return 0;
}

輸出

如果我們運行上麵的代碼,那麽它將生成以下輸出 -

Beginning element in the set container:10

示例

#include <iostream>
#include <set>
using namespace std;
int main (){
   set<int> set_a = {18, 34, 12, 10, 44};
   cout << "set_a contains:";
   for (auto it=set_a.cbegin(); it != set_a.cend(); ++it)
      cout << ' ' << *it;
   cout << '\n';
   return 0;
}

輸出

如果我們運行上麵的代碼,那麽它將生成以下輸出 -

set_a contains:10 12 18 34 44

什麽是 set::cend()

cend() 函數是 C++ STL 的內置函數,定義在頭文件中。此函數返回經過集合容器中最後一個元素的元素的常量迭代器。由於集合容器中的所有迭代器都是常量迭代器,所以不能用來修改內容,隻能通過增加或減少迭代器來遍曆集合容器的元素。

用法

constant_iterator name_of_set.cend();

參數

此函數不接受任何參數。

返回值

此函數返回 constant_iterator,它已超出序列末尾。

示例

Input:set<int> set_a = {18, 34, 12, 10, 44};
set_a.end();
Output:Past to end element:5

set::cend() 與 cbegin() 或 begin() 一起使用以遍曆整個集合,因為它指向過去到容器中最後一個元素的元素。

示例

#include <iostream>
#include <set>
using namespace std;
int main (){
   set<int> set_a = {18, 34, 11, 10, 44};
   cout << "Past to end element:";
   cout<< *(set_a.cend());
   return 0;
}

輸出

如果我們運行上麵的代碼,那麽它將生成以下輸出 -

Past to end element:5
We will get a random value

示例

#include <iostream>
#include <set>
using namespace std;
int main (){
   set<int> set_a = {18, 34, 12, 10, 44};
   cout << " set_a contains:";
   for (auto it= set_a.cbegin(); it != set_a.cend(); ++it)
   cout << ' ' << *it;
   cout << '\n';
   return 0;
}

輸出

如果我們運行上麵的代碼,那麽它將生成以下輸出 -

set_a contains:10 12 18 34 44

相關用法


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