對群組pair
在這部分,我們先介紹一下對群組pair中關聯容器與順序容器的公共操作,之後再介紹常用的幾個具體的關聯容器。
1、關聯容器
關聯容器是儲存物件集合的類型,支援通過鍵的高效查詢。關聯容器的大部分行為與順序容器相同,二者的本質差異在於關聯容器透過鍵儲存和讀取元素,而順序容器是透過元素在容器中的位置順序儲存和存取元素。
關聯容器的每個元素包含一個鍵值(key)和一個實值(value)。當元素插入關聯容器時,容器內部資料結構便依照其鍵值大小,以某種特定規則將此元素放置於適當位置。關聯容器沒有所謂的頭尾,只有最大元素和最小元素,關聯容器不提供front、push_front、pop_front、back、push_back、以及pop_back操作。
標準的STL關聯容器分為set(集合)和map(映射)兩大類,以及這兩大類的衍生體multiset(多鍵集合)和multimap(多鍵映射表)。這些容器的底層機制均以RB-tree完成(紅黑樹)。
2、關聯容器與順序容器的公共操作
1、關聯容器與順序容器共享的建構子
關聯容器共享大部分順序容器的操作,但不是全部,關聯容器可以使用以下三個建構函式:
C<T> c;
1
#建立一個名為c 的空容器。 C 是容器型別名,如 vector,T 是元素類型,如 int 或 string。適用於所有容器。
C<T> c(c2);
1
建立容器 c2 的副本 c;c 和 c2 必須具有相同的容器類型,並存放相同類型的元素。適用於所有容器。
C<T> c(b, e);
1
建立 c,其元素是迭代器 b 和 e 標示的範圍內元素的副本。適用於所有容器。
2、關聯容器與順序容器共享的其他函數
關聯容器不能透過容器的大小來定義,因為這樣的話就無法知道鍵所對應的值是什麼了。
關聯容器支援順序容器的一些關聯運算子。
關聯容器支援begin、end、rbegin、rend操作。
關聯容器支援swap和賦值運算,但不提供assign函數。
關聯容器支援clear和erase函數,但關聯容器的erase運算傳回的是void類型。
關聯容器支援size()、max_size()、empty()函數作為容器大小的運算,但不支援resize()函數。
3、對群組pair型別提供的運算
對群組pair包含兩個資料值。具體的使用方法如下:
pair<T1, T2> p1;
1
#建立一個空的pair對象,它的兩個元素分別是T1和T2類型,採用值初始化。
pair<T1, T2> p1(v1, v2);
1
建立一個pair對象,它的兩個元素分別是T1和T2型,其中first成員初始化為v1, second成員初始化為v2。
make_pair(v1, v2);
1
以v1和v2值建立一個新的pair對象,其元素的型別分別是v1和v2的型別。
p1 < p2;
1
兩個pair物件之間的小於運算,其定義遵循字典順序:如果p1.first或<code>!(p2.first<p1.first>,回傳true。 </p1.first>
p1 == p2;
1
如果兩個pair物件的first成員和second成員依序相等,則這兩個物件相等,該運算使用其元素的==操作符。
p.first、p.second;
1
傳回p中名為first、second的公有資料成員。
4、pair的建立和初始化
在建立pair物件時,必須提供兩個型別名,pair物件的兩個資料成員各自對應一個,這兩個型別名可以不同。如果在建立pair物件時不提供顯示初始化,則呼叫預設建構函式對其成員進行初始化;也可以在建立物件時使用( )直接顯示初始化式:
- pair 物件名稱;
如果使用多個相同的pair對象,也可以使用typedef簡化其宣告:
typedef pair <string, string> Author; Author 对象名(初始值1,初始值2);
1
- ## 2
以上是C++_STL常用容器總結:對群組pair中關聯容器與順序容器的詳細內容。更多資訊請關注PHP中文網其他相關文章!

char 數組在 C 語言中存儲字符序列,聲明為 char array_name[size]。訪問元素通過下標運算符,元素以空終止符 '\0' 結尾,用於表示字符串終點。 C 語言提供多種字符串操作函數,如 strlen()、strcpy()、strcat() 和 strcmp()。

C語言中通過轉義序列處理特殊字符,如:\n表示換行符。 \t表示製表符。使用轉義序列或字符常量表示特殊字符,如char c = '\n'。注意,反斜杠需要轉義兩次。不同平台和編譯器可能有不同的轉義序列,請查閱文檔。

在 C 語言中,char 類型在字符串中用於:1. 存儲單個字符;2. 使用數組表示字符串並以 null 終止符結束;3. 通過字符串操作函數進行操作;4. 從鍵盤讀取或輸出字符串。

C 語言中符號的使用方法涵蓋算術、賦值、條件、邏輯、位運算符等。算術運算符用於基本數學運算,賦值運算符用於賦值和加減乘除賦值,條件運算符用於根據條件執行不同操作,邏輯運算符用於邏輯操作,位運算符用於位級操作,特殊常量用於表示空指針、文件結束標記和非數字值。

多線程和異步的區別在於,多線程同時執行多個線程,而異步在不阻塞當前線程的情況下執行操作。多線程用於計算密集型任務,而異步用於用戶交互操作。多線程的優勢是提高計算性能,異步的優勢是不阻塞 UI 線程。選擇多線程還是異步取決於任務性質:計算密集型任務使用多線程,與外部資源交互且需要保持 UI 響應的任務使用異步。

在 C 語言中,char 類型轉換可以通過:強制類型轉換:使用強制類型轉換符將一種類型的數據直接轉換為另一種類型。自動類型轉換:當一種類型的數據可以容納另一種類型的值時,編譯器自動進行轉換。

C語言中沒有內置求和函數,需自行編寫。可通過遍歷數組並累加元素實現求和:循環版本:使用for循環和數組長度計算求和。指針版本:使用指針指向數組元素,通過自增指針遍歷高效求和。動態分配數組版本:動態分配數組並自行管理內存,確保釋放已分配內存以防止內存洩漏。

在 C 語言中,char 和 wchar_t 的主要區別在於字符編碼:char 使用 ASCII 或擴展 ASCII,wchar_t 使用 Unicode;char 佔用 1-2 個字節,wchar_t 佔用 2-4 個字節;char 適用於英語文本,wchar_t 適用於多語言文本;char 廣泛支持,wchar_t 依賴於編譯器和操作系統是否支持 Unicode;char 的字符範圍受限,wchar_t 的字符範圍更大,並使用專門的函數進行算術運算。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Atom編輯器mac版下載
最受歡迎的的開源編輯器

Dreamweaver CS6
視覺化網頁開發工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器