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 |
$ |
相關教學影片