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
$

相關教學影片

上一頁 15.2 - 字串程式庫
回 C++ 速查手冊首頁
下一頁 15.4 - 演算法程式庫
回 C++ 教材
回程式語言教材首頁