参照

C++ 参照 は、オブジェクトの別名または代替名です。参照に適用されるすべての演算は、参照が参照するオブジェクトで 動作します。参照のアドレスは、別名が付けられたオブジェクトのアドレスです。

参照型は、型指定子の後に参照宣言子 & を入れることによって定義できます。関数仮パラメーターを除く参照はすべて、定義するときに初期化する必要があります。 参照は一度定義すると再割り当てできません。参照を再割り当てしようとすると、ターゲットへ新しい値が割り当てられます。

関数の引き数は、値によって渡されるため、関数呼び出しは、引き数の実際の値を変更しません。 関数が、引き数の実際の値を修正する必要がある場合、または複数の値を戻す必要がある場合は、引き数は参照によって受け渡し (値による受け渡し に対比) する必要があります。参照による引き数の受け渡しは、参照またはポインターのいずれかを使用して行うことができます。 C と異なり、C++ は、参照によって引き数を渡したい場合には、ポインターの使用を強制しません。 参照を使用する構文は、ポインターを使用するときよりもいくらか簡単です。 参照によってオブジェクトを渡すと、関数は、関数のスコープ内でオブジェクトのコピーを作成しないで、参照されているオブジェクトを作成することができます。オブジェクト全体ではなく、実際の元オブジェクトのアドレスのみがスタックに置かれます。

次に例を示します。

int f(int&);
int main()
{
      extern int i;
      f(i);
}

関数呼び出し f(i) からは、引き数が参照によって渡されていることはわかりませ ん。

NULL への参照は認められていません。

関連参照

IBM Copyright 2003