참조에 의한 전달 방법은 인수로 전달된 변수의 값을 복사하는 것이 아닌, 원본 데이터를 직접 전달하는 것이다.
#include <iostream>
using namespace std;
void swap(int& px, int& py) {
int temp = px;
px = py;
py = temp;
}
int main() {
int x = 10, y = 20;
swap(x, y);
cout << x << endl;
cout << y << endl;
int nums[] = { 1, 2, 3, 4 };
for (int& num : nums) // 참조연산을 하지 않으면 값이 바뀌지 않는다
num = 0;
for (int num : nums)
cout << num << endl;
const int& ref0 = 1; // const 참조자는 변수가 아닌 수를 참조 가능
float f = 1.f;
const int& ref1 = f;
f = 10.1f;
cout << f << endl;
cout << ref1 << endl; // f를 바꿔도 값이 변경되지 않음
return 0;
}
20
10
0
0
0
0
10.1
1