C++ 참조


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

C++ 참조와 포인터

참조는 포인터와 쉽게 혼동되며, 세 가지 주요 차이점이 있습니다.

  • 널 참조가 없습니다. 참조는 합법적인 메모리 부분에 연결되어야 합니다.

  • 참조가 객체로 초기화되면 다른 객체를 가리킬 수 없습니다. 포인터는 언제든지 다른 개체를 가리킬 수 있습니다.

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

C++에서 참조 만들기

변수 이름이 메모리 위치의 변수에 연결된 레이블이라고 상상해 보세요. 참조는 메모리 위치의 변수에 연결된 두 번째 레이블로 생각할 수 있습니다. 따라서 원래 변수 이름이나 참조를 통해 변수의 내용에 액세스할 수 있습니다. 예:

int i = 17;

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

int&    r = i;

이 선언에서 &는 reference로 읽습니다. 따라서 첫 번째 선언은 "r은 i로 초기화된 정수 참조입니다."로 읽을 수 있고, 두 번째 선언은 "s는 d로 초기화된 이중 참조입니다."로 읽을 수 있습니다. 다음 예제에서는 int 및 이중 참조를 사용합니다.

#include <iostream>
 
using namespace std;
 
int main ()
{
   // 声明简单的变量
   int    i;
   double d;
 
   // 声明引用变量
   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

참조는 일반적으로 함수 매개변수 목록과 함수 반환 값에 사용됩니다. 아래에는 C++ 프로그래머가 알아야 할 C++ 참조와 관련된 두 가지 중요한 개념이 나열되어 있습니다.

개념 설명
매개변수로 참조 C++에서는 참조를 함수에 매개변수로 전달하는 것을 지원합니다. 전달하는 것보다 안전합니다. 일반 매개변수.
반환 값으로서의 참조참조는 다른 데이터 유형과 마찬가지로 C++ 함수에서 반환될 수 있습니다.