參考 (C++)
參考可能是使用下列語法來宣告:
[storage-class-specifiers] [cv-qualifiers] type-specifiers
[ms-modifier] declarator [= expression];
可能會使用任何有效的宣告子來指定參考。 除非參考是函式或陣列類型的參考,否則便會套用下列簡化的語法:
[storage-class-specifiers] [cv-qualifiers] type-specifiers &
[cv-qualifiers] identifier [= expression];
參考是使用下列序列宣告:
1. 宣告指定名稱:
選擇性的儲存類別規範。
選擇性的 const 和 (或) volatile 限定詞。
類型指定名稱:類型的名稱。
2. 宣告子:
選擇性的 Microsoft 專有修飾詞。 如需詳細資訊,請參閱 Microsoft 專有的修飾詞。
& 運算子。
選擇性的 const 和 (或) volatile 限定詞。
識別碼。
3. 選擇性的初始設定式。
陣列和函式的指標等更複雜的宣告子形式也適用於陣列和函式的參考,請參閱指標和宣告子。
多個宣告子和初始設定式可能會出現在逗號分隔清單中,後面接著一個宣告指定名稱。 例如:
int &i;
int &i, &j;
參考、指標和物件可以同時宣告:
int &ref, *ptr, k;
參考會保存物件的位址,不過其運作方式與物件相同。
在下列程式中,請注意物件的名稱 Today 和物件的參考 TodayRef 在程式中的使用方式是相同的:
範例
// 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);
}
Comment
本節主題: