我們以set的插入成員函式insert
為例加以說明,因為set容器是乙個自動排序的容器,set容器要求,插入元素要返回插入的位置以插入是否成功兩個屬性:
set
iset;
...pair::iterator, bool> res = iset.insert(1);
// 這樣的寫法並無太多實際的意義,不太會直接操縱這樣乙個pair物件
// 或者用auto 關鍵字
// 或者直接 if(iset.insert(1))
if (res.second)
cout
<< "1 inserted"
<< endl;
else
cout
<< "1 already exists"
<< endl;
除了效率的問題之外,value semantic
的一大問題是無法在數個不同的容器中管理同乙份物件。那麼我們該如何在stl容器中實現reference semantic
,這個問題可參看。
對於所有的標準庫型別其empty()成員函式都是一種查詢操作,用以詢問是否容器為空,因此返回乙個bool
型別變數,而不是一種清零操作。
C 中STL的介紹
1.stl基本概念 stl概念 stl algorithm 演算法 container 容器 和iterator 迭代器 c 標準客戶組成 模板回顧 2.stl的string string的初始化 遍歷 字元指標和string的轉換 連線和替換 截斷 區間刪除 和 插入 string反轉和大小寫轉換...
C 基礎 STL之棧stack
這篇文章介紹一下stl中stack的基本使用方法。棧也是最為常見的一種資料結構,佇列中的元素滿足filo 先進後出 include using namespace std stack函式名 用途功能說明 時間複雜度 size 查詢遍歷 獲取元素個數 o 1 top 查詢遍歷 獲取指向第乙個元素的迭代...
C 基礎 STL之佇列queue
這篇文章介紹一下stl中佇列queue的基本使用方法。佇列也是最為常見的一種資料結構,佇列中的元素滿足fifo 先進先出 主要特點如下 include using namespace std queue函式名 用途功能說明 時間複雜度 size 查詢遍歷 獲取元素個數 o 1 front 查詢遍歷 ...