参照 (C++)
参照は次の構文を使用して宣言されることがあります :
[storage-class-specifiers] [cv-qualifiers] type-specifiers
[ms-modifier] declarator [= expression];
参照を指定する有効な宣言が使用される可能性があります。参照が関数または配列型への参照である次の簡単な構文は対象 :
[storage-class-specifiers] [cv-qualifiers] type-specifiers &
[cv-qualifiers] identifier [= expression];
参照は次の手順を使用して宣言されています :
1.宣言の指定子 :
省略可能なストレージ クラスの指定子。
省略可能な 定数 または volatile の修飾子。
型指定子 : 型の名前。
2.宣言子 :
省略可能な Microsoft の修飾子。詳細についてはMicrosoft 固有の修飾子 を参照してください。
演算子。
省略可能な 定数 または volatile の qualifers。
識別子。
3.省略可能な初期化子。
配列関数へのポインターのより複雑な宣言の形式は配列への参照に適用し関数が ポインターおよび 宣言 が表示されます。
複数の宣言と初期化子は一つの宣言で指定子の後にコンマで区切った一覧に表示されることがあります。次に例を示します。
int &i;
int &i, &j;
参照ポインターおよびオブジェクトは共に宣言されることがあります :
int &ref, *ptr, k;
参照はオブジェクトのアドレスを保持しますがオブジェクトなどに構文的に実行されます。
次のプログラムではオブジェクトオブジェクトTodayRef への Today と参照の名前はプログラムで同じように使用できることに注意してください :
使用例
// references.cpp
#include <stdio.h>
struct S {
short i;
};
int main() {
S s; // Declare the object.
S& SRef = s; // Declare the reference.
s.i = 3;
printf_s("%d\n", s.i);
printf_s("%d\n", SRef.i);
SRef.i = 4;
printf_s("%d\n", s.i);
printf_s("%d\n", SRef.i);
}
コメント
このセクションのトピック