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++ 함수에서 반환될 수 있습니다. |