기본 매개변수 개요
기본 매개변수는 함수 선언 시 매개변수에 기본값을 지정하는 C++의 기능입니다.
이를 통해 함수 호출 시 일부 인자를 생략할 수 있어, 함수 사용의 유연성을 높일 수 있습니다.
기본 매개변수의 기본 문법
기본 매개변수는 함수 선언 시 다음과 같이 지정합니다.
이 예제에서 times
매개변수의 기본값은 1로 설정되어 있습니다.
기본 매개변수 사용 시 주의사항
- 기본값은 오른쪽부터 지정해야 합니다.
- 함수 선언과 정의에서 한 번만 지정해야 합니다. (보통 선언에서 지정)
- 재정의된 함수에서 기본 매개변수 변경 시 주의가 필요합니다.
기본 매개변수와 함수 오버로딩
기본 매개변수는 함수 오버로딩과 함께 사용할 때 주의가 필요합니다.
기본 매개변수와 템플릿
템플릿에서도 기본 매개변수를 사용할 수 있습니다.
객체 지향 프로그래밍에서의 기본 매개변수
생성자에서 기본 매개변수를 사용하면 객체 생성을 더 유연하게 할 수 있습니다.
기본 매개변수의 평가 시점
기본 매개변수는 함수 호출 시점에 평가됩니다.
이 예제에서는 각 로그 메시지마다 현재 시간이 기록됩니다.
연습 문제
- 다양한 도형(원, 사각형, 삼각형)의 면적을 계산하는 함수를 기본 매개변수를 사용하여 구현하세요.
- 기본 매개변수를 이용한 간단한 로깅 시스템을 만드세요. 로그 레벨과 출력 대상을 기본 매개변수로 설정할 수 있어야 합니다.
- 다음 코드의 출력 결과를 예측해보고, 실제로 실행하여 확인해보세요. 결과가 예상과 다르다면 그 이유를 설명해보세요.
참고 자료
- C++ 공식 문서의 기본 인자 섹션 : Default arguments
- "Effective C++" by Scott Meyers (항목 38 : "타입이 중요한 부분"을 결정하는 데 있어 매개변수화 타입에 의존하지 마라)
- "C++ Templates : The Complete Guide" by David Vandevoorde, Nicolai M. Josuttis, and Douglas Gregor (Chapter 10 : 함수 템플릿)
- C++ Core Guidelines의 함수 관련 규칙 : F : Functions