#include <iostream>
int main() {
int a = 10;
int& ref = a; // ref는 a에 대한 참조입니다.
std::cout << "a: " << a << std::endl; // 출력: a: 10
std::cout << "ref: " << ref << std::endl; // 출력: ref: 10
ref = 20; // ref를 통해 a의 값을 변경합니다.
std::cout << "a: " << a << std::endl; // 출력: a: 20
std::cout << "ref: " << ref << std::endl; // 출력: ref: 20
return 0;
}
위 예시에서 ref는 a에 대한 참조입니다.
ref를 통해 a의 값을 읽거나 쓸 수 있습니다.
ref가 a의 주소를 가리키고 있기 때문에, ref를 통해 값을 변경하면 a의 값도 변경됩니다.
함수의 매개변수로 참조를 사용하는 것은 특히 유용합니다.
아래는 참조를 사용하여 함수가 인수로 전달된 값을 변경하는 예제입니다.
#include <iostream>
void increment(int& num) {
num++; // num이 참조하는 변수의 값을 증가시킵니다.
}
int main() {
int a = 10;
increment(a); // a의 값을 참조로 전달합니다.
std::cout << "a: " << a << std::endl; // 출력: a: 11
return 0;
}
이 예시에서 increment 함수는 num이라는 정수에 대한 참조를 매개변수로 받습니다.
함수 내부에서 num을 증가시키면 a의 값도 증가합니다.
이는 참조가 a의 메모리 주소를 가리키고 있기 때문입니다.