導入
第5章の配列は、宣言時に個数を決める必要がありました。モダンな C++ では、要素数を後から変えられる std::vector(可変長配列)をよく使います。実務で「複数のデータをまとめて持つ」ときの第一候補です。
説明
<vector> を include し、vector<型> で宣言します。push_back で末尾に追加でき、サイズは size() で分かります。生の配列との違いは「後から伸ばせる」ことです。
flowchart LR
subgraph V0["vector<int> 80, 95, 70"]
direction LR
a["80"]
b["95"]
c["70"]
end
V0 -->|"push_back(100)"| V1["80, 95, 70, 100<br/>(サイズが自動で 3→4)"]
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> scores = {80, 95, 70};
scores.push_back(100); // 末尾に追加(サイズが自動で増える)
cout << scores.size() << endl; // 4
cout << scores[0] << endl; // 80(配列と同じ添字アクセス)
int total = 0;
for (int i = 0; i < (int)scores.size(); i++) {
total += scores[i];
}
cout << "合計 " << total << endl; // 345
return 0;
}
初期サイズを指定して作ることもできます。vector<int> v(5, 0) は「0 が5個」の意味です。
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> v(5, 0); // 0 が5個 → {0, 0, 0, 0, 0}
v[2] = 99;
cout << v.size() << " " << v[2] << endl; // 5 99
return 0;
}
まとめ
「いくつ入るか分からない」データには vector を使います。生の配列より安全で、追加・サイズ取得ができて扱いやすいです。添字アクセスは配列とまったく同じ書き方です。