Lvalue 참조 선언 자: &

개체의 주소를 보유 하 고 있지만 개체 처럼 동작 하는 구문이 있습니다.

type-id & cast-expression

설명

참조는 lvalue가 개체의 다른 이름으로 생각할 수 있습니다.Lvalue 참조 선언 지정자 참조 선언 자에 의해 그 뒤 선택적 목록으로 구성 됩니다.에 대 한 참조를 초기화 해야 되며 변경할 수 없습니다.

모든 개체는 주소 지정 된 포인터 형식으로 변환할 수 있습니다 유사한 참조 형식으로도 변환할 수 있습니다.개체 형식으로 해당 주소를 변환할 수 있습니다 예를 들어, char * 형식으로 변환할 수 있습니다 char &.

사용을 있는 참조 선언을 혼동 하지 마십시오의 주소 연산자.경우는 & 식별자 형식에서 것과 같이 앞에 int 또는 char, 식별자 형식에 대 한 참조가 선언 되었습니다.때 & 식별자 시작 되는 형식으로 사용 주소 연산자입니다.

예제

선언 하면 선언 자를 참조 다음 예제에서는 Person 개체 및 해당 개체에 대 한 참조입니다.때문에 rFriend 에 대 한 참조입니다 myFriend, 어떤 변수를 업데이트 같은 개체를 변경 합니다.

// reference_declarator.cpp
// compile with: /EHsc
// Demonstrates the reference declarator.
#include <iostream>
using namespace std;

struct Person
{
    char* Name;
    short Age;
};

int main()
{
   // Declare a Person object.
   Person myFriend;

   // Declare a reference to the Person object.
   Person& rFriend = myFriend;

   // Set the fields of the Person object.
   // Updating either variable changes the same object.
   myFriend.Name = "Bill";
   rFriend.Age = 40;

   // Print the fields of the Person object to the console.
   cout << rFriend.Name << " is " << myFriend.Age << endl;
}
  

참고 항목

참조

참조 (C++)

함수 인수가 참조 형식

참조 형식은 함수 반환 값

포인터에 대 한 참조