STL容器類異常

2021-06-22 00:40:41 字數 765 閱讀 1672

vector

如果vector呼叫的函式丟擲異常,c++標準程式庫做出如下假設。

1.如果push_back()安插元素時發生異常,該函式不起作用。

2.如果拷貝操作不丟擲異常,那麼insert要麼不生效,要麼成功。

3.pop_back絕不丟擲異常。

4.如果拷貝操作不丟擲異常,erase,clear不丟擲異常。

5.swap不丟擲異常。

所有這些保證都基於乙個條件:析構函式不得丟擲異常。

deque

與vector類似

push_front和pop_front等同於vector的push_back和pop_back。

list

push_back,push_front,insert,resize:不成功,就是無任何作用

pop_back,pop_front,erase,clear,splice,reverse,swap:不丟擲異常

remove,unique:只要元素比較操作不丟擲異常,它就不丟擲異常

remove_if:只要判斷式不丟擲異常,它就不丟擲異常

merge:只要元素比較操作不丟擲異常,它便保證要麼不成功,要麼無任何作用

set

面對多重元素插入異常丟擲時無法完全復原。單一元素安插操作保證成功否則無效。

多元素刪除總是能成功。

複製操作丟擲異常,swap也會丟擲異常。

STL容器類map學習

map類定義了乙個關聯容器,並且在容器中使用唯一的關鍵字 任何兩個元素的鍵都不相同 來對映相應的值。從本質上來說,關鍵字就是值的名字。在map物件中儲存了乙個值之後,就可以通過關鍵字來獲得它。map物件是一系列關鍵字 值的匹配對。map的主要功能在於 只有你知道了乙個值的關鍵字,就能夠找到這個值。例...

STL標準容器類簡介

from 標準容器類 說明順序性容器 vector 從後面快速的插入與刪除,直接訪問任何元素 deque 從前面或後面快速的插入與刪除,直接訪問任何元素 list 雙鏈表,從任何地方快速插入與刪除 關聯容器 set快速查詢,不允許重複值 multiset 快速查詢,允許重複值 map一對多對映,基於...

使用STL的vector容器類

範例程式 include include include include include using namespace std int main char b size 定義vector物件 vectorvf a,a size vectorvc b,b size sizef vf.size siz...