【C++】配列完全解説|組み込み配列・std::array・std::vectorの使い分け
この記事でわかること
この記事では、C++における 配列の扱い方 を解説します
- 配列の基本的な使い方
- 配列の要素へのアクセス方法
- 配列の長さの求め方
- std::array と std::vector の違いと使い分け
配列を使うと、同じ型のデータをまとめて管理でき、プログラムをシンプルに書けます
配列とは
配列とは 同じ型のデータをまとめて扱う箱のようなもの です
例えば
- 30人分のテスト点数
- 日ごとの売り上げデータ
のように、同じ型のデータをたくさん扱う場合に便利です
変数を30個個別に作るよりも、配列を使うことで一括で管理できます
配列の宣言と初期化
組み込み配列の例です
#include <iostream>
using namespace std;
int main() {
int scores[5] = {90, 80, 70, 60, 50};
for (int i = 0; i < 5; i++) {
cout << "scores[" << i << "] = " << scores[i] << endl;
}
return 0;
}scores[0] = 90
scores[1] = 80
scores[2] = 70
scores[3] = 60
scores[4] = 50int scores[5]は要素数5の配列を宣言- インデックスは 0 から始まり 4 で終わる
配列の長さを求める
組み込み配列は長さを自動で保持しないため、自分で計算する必要があります
int scores[] = {90, 80, 70};
int len = sizeof(scores) / sizeof(scores[0]);
cout << "len = " << len << endl;len = 3標準ライブラリの配列
std::array(固定長配列)
C++11以降は std::array が推奨されています
- 固定長
- メソッドが使えるため安全で便利
#include <iostream>
#include <array>
using namespace std;
int main() {
array<int, 3> scores = {90, 80, 70};
for (int s : scores) {
cout << s << endl;
}
cout << "size = " << scores.size() << endl;
}std::vector(可変長配列)
サイズを自由に増減できる配列です。現代 C++ では最もよく使われています
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> scores = {90, 80};
scores.push_back(70);
scores.push_back(60);
for (int s : scores) {
cout << s << endl;
}
cout << "size = " << scores.size() << endl;
}90
80
70
60
size = 4配列の使い分け
| 種類 | 特徴 |
|---|---|
| 組み込み配列 | 高速でシンプル、サイズ変更不可 |
| std::array | 固定長、安全に使える、便利な関数あり |
| std::vector | 可変長、現代 C++ で主流 |
実用パターン
合計・平均を求める
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> scores = {80, 90, 100};
int sum = 0;
for (int s : scores) sum += s;
double avg = (double)sum / scores.size();
cout << "sum=" << sum << ", avg=" << avg << endl;
}sum=270, avg=90配列を使うことで、簡単に合計や平均を求めることができます
まとめ
- 配列は同じ型のデータをまとめて扱うための仕組み
- 組み込み配列、std::array、std::vectorの違いを理解する
- std::vector が最も汎用的で現代 C++ で推奨される
- 配列を使うことで、データ処理が簡単で効率的になる