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
반응형
'Application > 기초' 카테고리의 다른 글
[기초] C++ 템플릿 (Templates) (2) | 2024.04.28 |
---|---|
[기초] C++ 가변 파라미터 (2) | 2024.04.27 |
[기초] C++ 메모리 패킹 (pragma pack) (0) | 2024.04.25 |
[기초] C++ 유니언과 비트필드 (UNION & BitField) (0) | 2024.04.24 |
[기초] C++ 유니언 (UNION) (0) | 2024.04.23 |