본문 바로가기
IT/c++

C++ 참조자 함수 (Reference Function) - 함수에서의 참조 매개변수

by 뉴코딩맨 2023. 7. 30.
C++에서 함수는 다양한 방식으로 인자를 전달할 수 있습니다. 이 중 참조자 함수는 인자의 참조(reference)를 사용하여 함수에 값을 전달하는 방식을 말합니다. 함수 호출 시 인자의 참조(reference)를 복사하여 함수의 형식 매개변수로 사용하는 방식으로 작동합니다. 이 글에서는 C++ 참조자 함수에 대해 자세히 알아보고, 사용법과 특징을 알아보겠습니다.
 
 

1. 참조자 함수란?

참조자 함수란 C++에서 함수의 매개변수로 인자의 참조(reference)를 사용하는 함수를 의미합니다. 함수 호출 시에는 해당 인자의 참조가 복사되어 함수의 형식 매개변수로 전달되며, 이를 통해 함수 내에서 인자의 값을 직접 변경할 수 있습니다.
 

2. 참조자 함수의 사용법

참조자 함수를 사용하기 위해서는 함수의 매개변수를 선언할 때 해당 변수 타입에 앰퍼샌(&) 기호를 붙여야 합니다. 이렇게 선언된 매개변수는 해당 인자의 참조를 나타내며, 함수 내에서 해당 변수를 변경하면 원본 인자의 값도 함께 변경됩니다.
 
#include <iostream>

void incrementByReference(int &num) {
    num++;
}

int main() {
    int num = 5;
    incrementByReference(num);
    std::cout << "num: " << num << std::endl; // 출력 결과: num: 6

    return 0;
}

 

위의 예제에서 incrementByReference 함수는 정수형 변수를 참조자로 전달받아 값을 증가시키는 예시입니다.
 
 

3. 참조자 함수의 장점

참조자 함수는 함수의 인자를 포인터로 전달하는 것보다 간편하고 직관적입니다. 인자를 참조로 전달하여 원본 값에 직접 접근할 수 있으므로 복사된 값보다 메모리 사용 면에서 효율적입니다.
 

4. 참조자 함수와 일반적인 함수의 비교

참조자 함수와 일반적인 함수의 주요한 차이점은 인자를 전달하는 방식입니다. 참조자 함수는 인자의 참조를 전달하므로 값을 직접 변경할 수 있지만, 일반적인 함수는 인자의 복사본을 전달하며 원본 값을 변경하지 못합니다.
 

5. 결론

이 글에서는 C++ 참조자 함수에 대해 알아보았습니다. 참조자 함수는 함수의 매개변수로 인자의 참조를 사용하여 값을 전달하는 방식을 의미합니다. 이를 통해 함수 내에서 인자의 값을 직접 변경할 수 있습니다. 참조자 함수는 포인터로 인자를 전달하는 것보다 간편하고 효율적인 방법입니다.

 

댓글