●学校情報

講座一覧・募集状況

学習方法

学習サポート

修了生の評価

受講生の横顔

当学院について

入学相談

入学手続

 

●講座情報

技術者養成講座

プログラミング講座

WEB講座

情報処理試験講座

Excel講座

Access講座

 

●関連コラム

関連コラム

関連用語集

 

logo

 

 

関連用語集

C++のベクター(vector)とは?配列より便利なSTLコンテナを使いこなそう!

C++の標準テンプレートライブラリ(STL)の中でも、もっとも基本でありながら強力なのが vector(ベクター) です。 配列のように使えますが、サイズを自動で拡張できるという大きな利点があります。

この記事では、C++の vector の基本的な使い方から、便利な関数、注意点までを初心者向けに解説します。

vectorとは?

vector は、C++の STL に含まれる可変長の配列です。 要素の追加や削除が簡単にでき、push_backsize などの便利なメソッドを持っています。

vectorの宣言と初期化

#include <vector>
using namespace std;

vector<int> nums;                      // 空のベクター
vector<int> nums2(5);                  // 要素5つ(初期値0)
vector<int> nums3(5, 10);              // 要素5つ(すべて10)
vector<string> words = {"A", "B", "C"}; // 初期値付き

主なメンバ関数

関数説明
push_back(x)末尾に要素xを追加
pop_back()末尾の要素を削除
size()現在の要素数を取得
at(i)i番目の要素を取得(範囲チェックあり)
clear()すべての要素を削除
empty()ベクターが空かどうか確認

使用例

#include <iostream>
#include <vector>
using namespace std;

int main() {
    vector<int> nums;

    nums.push_back(10);
    nums.push_back(20);
    nums.push_back(30);

    for (int i = 0; i < nums.size(); i++) {
        cout << nums[i] << " ";
    }
    return 0;
}

このコードでは、3つの整数をベクターに追加し、for文で出力しています。

範囲ベースのfor文(C++11以降)

for (int n : nums) {
    cout << n << " ";
}

この書き方は簡潔で読みやすく、初心者にもおすすめです。

二次元ベクター

vector<vector<int>> matrix(3, vector<int>(4, 0));
// 3行4列、すべて0で初期化

ベクターは入れ子にもできるため、2次元配列としても利用可能です。

ベクターのメリット

  1. サイズ変更が簡単
    配列と違い、自動でサイズが増える。
  2. メモリ管理が不要
    自動的にメモリ確保・解放される。
  3. STLアルゴリズムとの相性が良い
    sortfind などにそのまま使える。

注意点

  • []でのアクセスは範囲外アクセスに注意。安全な at() の使用を推奨。
  • 大量のデータの挿入・削除が頻繁にある場合は list の方が適していることも。

まとめ

C++のvectorは、配列のように使えて、より柔軟で便利なSTLコンテナです。 初心者でも扱いやすく、多くの場面で活躍するため、必ず習得しておきたい基本機能のひとつです。

まずはpush_backfor文から試して、ベクターの便利さを体感してみましょう!