引用(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 qualifers。

  • 标识符。

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);
}
  

注释

此节中的主题:

请参见

参考

初始化引用