●学校情報

講座一覧・募集状況

学習方法

学習サポート

修了生の評価

受講生の横顔

当学院について

入学相談

入学手続

 

●講座情報

技術者養成講座

プログラミング講座

WEB講座

情報処理試験講座

Excel講座

Access講座

 

●関連コラム

関連コラム

関連用語集

 

logo

 

 

関連用語集

C++の参照(Reference)とは?ポインタとの違いもわかりやすく解説!

C++には「参照(Reference)」という便利な仕組みがあります。 変数の別名(エイリアス)を作るもので、実体のある変数を間接的に操作できるようになります。

この記事では、参照の基本的な使い方、関数での利用方法、ポインタとの違いについて初心者向けに解説します。

参照とは?

参照とは、既存の変数を別の名前で扱えるようにする仕組みです。 C++では & を使って参照を宣言します。

参照の基本構文と例

int a = 10;
int& ref = a;  // aの参照をrefとして定義

ref = 20;      // aの値も20に変わる

cout << a << endl;   // → 20
cout << ref << endl; // → 20

このように、参照を通じて元の変数を操作することができます。

参照を関数の引数に使う

参照を使うことで、関数内で元の変数を直接変更することができます。 これは「値渡し」と対になる「参照渡し」と呼ばれます。

void addTen(int& x) {
    x += 10;
}

int main() {
    int num = 5;
    addTen(num);
    cout << num << endl;  // → 15
}

このように、関数の引数に & を付けることで、呼び出し元の変数に直接変更を加えられます。

const参照

変更を加えたくない場合は const を付けて、読み取り専用の参照にできます。

void show(const int& x) {
    cout << x << endl;
}

主に、値をコピーせずに読み取る目的で使用します(特に大きなオブジェクトに便利)。

参照とポインタの違い

項目参照ポインタ
記号&(定義時)*(定義・操作時)
初期化必ず必要必要ない(nullptr可)
再代入できない(ずっと同じ変数)可能(他のアドレスへ切り替え可)
使いやすさ簡単で安全柔軟だがやや複雑

参照のメリット

  1. 値をコピーせずに関数に渡せる
    処理が高速で効率的。
  2. 関数内から元の変数を操作できる
    戻り値で受け取る必要がない。
  3. コードが読みやすい
    ポインタよりも直感的。

注意点

  • 参照は nullptr をとることができません(初期化必須)。
  • 参照の再代入はできないため、動的に変化するものには不向きです。

まとめ

C++の参照(Reference)は、変数の別名を作り、値をコピーせずに効率よく扱うための仕組みです。 関数に引数として渡したり、戻り値に使ったりすることで、より柔軟で高速なプログラムが書けます。

まずは関数での参照渡しや、基本的な操作に慣れて、徐々にポインタとの使い分けもマスターしていきましょう!