1.참조자(References)
참조자(references)는 변수의 별명(alias)을 제공하는 데이터 타입입니다.
참조자를 사용하면 변수의 별명으로 해당 변수를 직접 조작할 수 있으며,
포인터와 비슷한 기능을 가지지만 사용 방법이 더 간단하고 안전합니다.
2.참조자 선언
데이터 타입 뒤에 &를 붙여 선언합니다.
참조자는 선언과 동시에 초기화해야 하며, 이후에는 변경할 수 없습니다.
참조자는 반드시 유효한 변수를 참조해야 하며, nullptr이나 무효한 주소를 참조할 수 없습니다.
int value = 10; // 원본 변수
int& ref = value; // 참조자 ref가 value를 참조
ref = 20; // 참조자를 통해 값 수정
3.참조자를 함수 인자로 사용
void increment(int& num) {
num++; // 참조자를 통해 원본 변수 값을 직접 수정
}
int main() {
int value = 10; // 원본 변수
int& ref = value; // 참조자 ref가 value를 참조
std::cout << "변경 전 값: " << value << std::endl;
increment(value); // value의 참조자를 함수에 전달
std::cout << "변경 후 값: " << value << std::endl;
}
4.참조자, 포인터의 차이
포인터: *를 사용하여 값을 접근하고 &를 사용하여 주소를 얻습니다. 포인터는 nullptr로 초기화할 수 있으며, 포인터 연산을 지원합니다.
참조자: &를 사용하여 선언하고 초기화합니다. 참조자는 반드시 유효한 변수를 참조하며, 초기화 후에는 참조 대상을 변경할 수 없습니다.
'Language > C++' 카테고리의 다른 글
[C++] 표준 입출력 (0) | 2024.07.30 |
---|---|
[C++] 배열(Arrays) (0) | 2024.07.29 |
[C++] 연산자 (0) | 2024.07.29 |