기본 인수

기본 매개변수 선언 기준

호출을 줄이는 장점보다 컴파일러가 어느 인자를 생략했는지 분명히 해석할 수 있는지가 먼저입니다.

declare once rightmost only avoid ambiguity
선언

기본값은 한 곳에 둔다

헤더의 함수 원형에 기본값을 두고 정의부에는 반복하지 않는 형태가 안전합니다.

순서

오른쪽부터 생략

중간 인자만 건너뛸 수 없으므로 기본값은 뒤쪽 매개변수부터 채웁니다.

충돌

오버로드 후보 확인

같은 호출이 두 함수에 모두 맞으면 컴파일러는 의도를 선택하지 못합니다.

01 · 원형 기본값 위치를 고정합니다.
02 · 정의 정의부 중복을 제거합니다.
03 · 호출 생략 인자를 오른쪽부터 읽습니다.
04 · 후보 오버로드 모호성을 확인합니다.
설계 감각

선택 인자가 많아지면 기본 매개변수보다 설정 객체나 명시적인 오버로드가 호출 의도를 더 잘 드러낼 수 있습니다.