月ノ書

【C++】配列完全解説|組み込み配列・std::array・std::vectorの使い分け

この記事でわかること

この記事では、C++における 配列の扱い方 を解説します

  • 配列の基本的な使い方
  • 配列の要素へのアクセス方法
  • 配列の長さの求め方
  • std::array と std::vector の違いと使い分け

配列を使うと、同じ型のデータをまとめて管理でき、プログラムをシンプルに書けます

配列とは

配列とは 同じ型のデータをまとめて扱う箱のようなもの です

例えば

のように、同じ型のデータをたくさん扱う場合に便利です
変数を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] = 50

配列の長さを求める

組み込み配列は長さを自動で保持しないため、自分で計算する必要があります

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

配列を使うことで、簡単に合計や平均を求めることができます

まとめ

学習進捗

0
Would love your thoughts, please comment.x