Application/기초

[기초] C++ 디폴트 파라미터 (Default Parameters)

devsalix 2024. 4. 26. 16:56
728x90

 

C++ 프로그래밍에서 함수를 정의할 때 특정 매개변수에 기본값을 설정할 수 있습니다.

이러한 기본값을 가진 매개변수를 '디폴트 파라미터'라고 합니다.

디폴트 파라미터를 사용하면 함수 호출 시 일부 매개변수를 생략할 수 있어 코드의 유연성을 높이고,

중복을 줄일 수 있습니다.

 


 

기본 개념

 

함수를 정의할 때, 매개변수 리스트 중 하나 이상에 초기값을 제공하여,

해당 함수가 호출될 때 해당 매개변수를 생략 가능하게 만듭니다.

이렇게 하면, 함수를 더 유연하게 사용할 수 있습니다.

 

규칙

 

  • 디폴트 값 설정 : 함수 선언 시, 매개변수의 기본 값을 할당할 수 있습니다.

  • 오른쪽에서 왼쪽으로 : 디폴트 파라미터는 함수 매개변수 리스트에서 오른쪽부터 시작해야 합니다.
    즉, 어떤 매개변수에 기본값을 주기 시작하면, 그 오른쪽에 있는 모든 매개변수들도 디폴트 값을 가져야 합니다.

  • 함수 선언과 정의 분리 시 주의 : 함수의 선언에서 디폴트 값을 정의했다면,
    같은 함수의 다른 선언이나 정의에서는 해당 매개변수에 대한 디폴트 값을 다시 명시하지 않아야 합니다.
예시

 

#include <iostream>
using namespace std;

// 함수 선언에서 디폴트 파라미터 설정
void printMessage(string message = "Hello, World!") {
    cout << message << endl;
}

int main() {
    // 매개변수를 지정하지 않고 함수 호출
    printMessage();
    // 매개변수를 지정하여 함수 호출
    printMessage("Hello, C++!");
    return 0;
}

 

 

사용 시 유의사항

 

  • 디폴트 파라미터와 함수 오버로딩 : 디폴트 파라미터를 사용하면, 함수 오버로딩을 혼동할 수 있습니다.
    가능한 한, 디폴트 파라미터 사용과 함수 오버로딩을 혼합하지 않는 것이 좋습니다.

  • 복잡한 타입의 디폴트 값 : 복잡한 타입의 객체나, 함수 등을 기본값으로 사용할 때는
    성능과 예기치 않은 동작에 주의해야 합니다.

활용

 

디폴트 파라미터는 다양한 프로그래밍 상황에서 유용하게 사용될 수 있습니다.

예를 들어, 어떤 함수가 대부분의 경우에 동일한 값으로 호출된다면,

그 값들을 디폴트 값으로 설정하여 코드를 더 간결하고 명확하게 만들 수 있습니다.

 

마무리

 

C++에서 디폴트 파라미터를 적절히 사용하면 함수의 유연성을 크게 향상시킬 수 있습니다.

다만, 디폴트 파라미터의 사용은 함수의 명확성을 해치지 않도록 신중하게 결정해야 합니다.

잘 설계된 디폴트 파라미터는 코드를 간결하게 만들고, 오류 가능성을 줄이며, 개발자의 편의성을 높일 수 있습니다.

 

 


제 글이 도움이 되셨다면 댓글 & 공감 부탁드려요 😀

 

 
728x90
반응형