[C++] reference
Updated:
개요
- 어떤 변수에 별명을 붙이는 것
- 별명에 변수가 붙으면 해당 별명은 다른 변수로 변경 불가
- 레퍼런스의 레퍼런스, 레퍼런스의 배열, 레퍼런스의 포인터는 불가능
- 댕글링 레퍼런스(Dangling reference)
- 참조할 대상이 사라진 레퍼런스
- 복사 비용 감소
- 포인터를 사용해도 되지만 불필요한 연산자(*, &) 사용 불필요
코드
#include <iostream>
using namespace std;
int &func(int &arg) {
arg = 2;
return arg;
}
int main() {
int i = 0;
int &i1 = i;
i1 = 1;
cout << i << ", " << i1 << endl;
const int &i2 = 1;
int i3 = i2;
cout << i2 << ", " << i3 << endl;
int i4 = func(i3);
cout << i3 << ", " << i4 << endl;
return 0;
}
실행 결과
1, 1
1, 1
2, 2