참조를 초기화합니다.

참조 형식의 변수를 개체에서 파생 된 참조 형식, 형식 또는 참조 형식에서 파생 된 형식으로 변환할 수 있는 형식의 개체를 초기화 해야 합니다.예를 들면 다음과 같습니다.

// initializing_references.cpp
int iVar;
long lVar;
int main() {
   long& LongRef1 = lVar;   // No conversion required.
   long& LongRef2 = iVar;   // C2440
   const long& LongRef3 = iVar;   // OK
   LongRef1 = 23L;   // Change lVar through a reference.
   LongRef2 = 11L;   // Change iVar through a reference.
   LongRef3 = 11L;   // C3892
}

임시 개체에 대 한 참조를 초기화 하는 유일한 방법은 상수 임시 개체를 초기화 하는 것입니다.초기화 면 참조 형식 변수는 항상 같은 개체를 가리킵니다. 다른 개체를 가리키도록 수정할 수 없습니다.

구문은 같은, 참조 형식 변수 및 할당 하는 초기화 될 수 있지만 참조 형식 변수는 구문적으로 다릅니다.앞의 예에서 할당이 변경 iVar 및 lVar 초기화에 유사 하지만 서로 다른 영향을 미칠 합니다.초기화 하는 참조 형식 변수를 가리키는 개체를 지정 합니다. 할당에 대 한 참조를 통해 참조 되는 개체를 할당합니다.

참조 형식의 인수를 함수에 전달 하 고 함수에서 반환 하는 값은 참조 형식 초기화가 되어 있기 때문에 반환 되는 참조와 형식 인수가 있는 함수를 제대로 초기화 됩니다.

참조 형식 변수 이니셜라이저에 다음만 없이 선언할 수 있습니다.

  • 함수 선언 (프로토타입)입니다.예를 들면 다음과 같습니다.

    int func( int& );
    
  • 함수의 반환 형식 선언 합니다.예를 들면 다음과 같습니다.

    int& func( int& );
    
  • 참조 형식 클래스 멤버를 선언 합니다.예를 들면 다음과 같습니다.

    class c {
    public:
       int& i;
    };
    
  • 명시적으로 지정 하는 변수를 선언 extern.예를 들면 다음과 같습니다.

    extern int& iVal;
    

참조 형식 변수를 초기화 하는 경우 컴파일러 의사 그래프는 다음 그림에 표시 된를 사용 하 여 참조 객체를 작성 또는 참조가 가리키는 임시 개체를 만드는 사이 선택 합니다.

의사 결정 그래프를 초기화 하는 참조 형식에 대 한

판단 그래프 초기화 참조 형식

에 대 한 참조 volatile 형식 (선언 volatiletypename식별자)를 초기화할 수 있습니다 volatile 로 선언 되지 않은 개체가 있는 개체 같은 종류의 volatile.  그러나가 없습니다,, 초기화 const 해당 형식의 개체입니다.마찬가지로를 참조 const 형식 (선언 consttypename식별자)를 초기화할 수 있습니다 const 같은 유형의 개체를 (또는 아무 것도 해당 형식으로 선언 되지 않은 개체는 변환이 있는 const).  그러나가 없습니다,, 초기화 volatile 해당 형식의 개체입니다.

으로 정규화 되지 않은 참조는 const 또는 volatile 키워드와 모두로 선언 되는 개체에 대해서만 초기화 될 수 있습니다 const 또는 volatile.

참고 항목

참조

이니셜라이저