Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++의 참조


참조 변수는 별칭, 즉 이미 존재하는 변수의 다른 이름입니다. 참조가 변수로 초기화되면 변수 이름이나 참조 이름을 사용하여 변수를 참조할 수 있습니다.

참조 대 포인터

참조는 종종 포인터와 혼동되지만 참조와 포인터의 세 가지 주요 차이점은 다음과 같습니다. -

  • NULL 참조를 가질 수 없습니다. 참조가 합법적인 저장소에 연결되어 있다고 항상 가정할 수 있어야 합니다.

  • 참조가 개체에 대해 초기화되면 다른 개체를 참조하도록 변경할 수 없습니다. 포인터는 언제든지 다른 개체를 가리킬 수 있습니다.

  • 참조는 생성될 때 초기화되어야 합니다. 포인터는 언제든지 초기화할 수 있습니다.

C++에서 참조 생성

변수 이름을 메모리에서 변수의 위치에 부착된 레이블로 생각하십시오. 그런 다음 참조를 해당 메모리 위치에 부착된 두 번째 레이블로 생각할 수 있습니다. 따라서 원래 변수 이름이나 참조를 통해 변수의 내용에 액세스할 수 있습니다. 예를 들어 다음과 같은 예가 있다고 가정합니다. -

int i = 17;

다음과 같이 i에 대한 참조 변수를 선언할 수 있습니다.

int& r = i;

이 선언의 &를 참조로 읽으십시오. 따라서 첫 번째 선언을 "r은 i로 초기화된 정수 참조"로 읽고 두 번째 선언은 "s는 d로 초기화된 이중 참조"로 읽습니다.

예시 코드

#include <iostream>
using namespace std;

int main () {
   // declare simple variables
   int i;
   double d;

   // declare reference variables
   int& r = i;
   double& s = d;

   i = 5;
   cout << "Value of i : " << i << endl;
   cout << "Value of i reference : " << r << endl;

   d = 11.7;
   cout << "Value of d : " << d << endl;
   cout << "Value of d reference : " << s << endl;

   return 0;
}

출력

Value of i : 5
Value of i reference : 5
Value of d : 11.7
Value of d reference : 11.7