
C++ 速查手冊
15.3 - 容器程式庫
容器程式庫 (containers library) 包含各種容器 (container) ,所謂容器類似複合資料型態,不過是具有更複雜的物件,有如下的標頭檔
| 名稱 | 功能 |
|---|---|
| <array>C++11 | std::array |
| <vector> | std::vector |
| <deque> | std::deque |
| <list> | std::list |
| <forward_list>C++11 | std::forward_list |
| <set> | std::set, std::multiset |
| <map> | std::map, std::multimap |
| <unordered_set>C++11 | std::unordered_set, std::unordered_multiset |
| <unordered_map>C++11 | std::unordered_map, std::unordered_multimap |
| <stack> | std::stack |
| <queue> | std::queue, std::priority_queue |
| <iterator> | 迭代器類別。 |
舉一例如下
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> v;
v.push_back(1);
v.push_back(2);
v.push_back(3);
v.push_back(4);
v.push_back(5);
for (int i = 0; i < v.size(); i++) {
cout << v[i] << endl;
}
return 0;
}
/* 《程式語言教學誌》的範例程式
http://kaiching.org/
檔名:u1503.cpp
功能:示範 C++ 的標準程式庫
作者:張凱慶*/
此例示範 C++ 的 vector 容器物件,因此要先 #include <vector>
#include <vector>
由於 vector 是用樣板定義的,因此宣告時要指定型態
vector<int> v;
push_back() 為 vector 的成員函數 (member function) ,用途是將資料放在 vector 的最後
v.push_back(1);
此例共放了 5 個整數到變數 v 之中,存取 vector 同樣用中括弧與索引值,而 size() 則是 v 的大小
for (int i = 0; i < v.size(); i++) {
cout << v[i] << endl;
}
簡單說, vector 像是可變的陣列,但具有更多功能。
編譯執行,結果如下
| $ g++ u1503.cpp |
| $ ./a.out |
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| $ |
相關教學影片
