선언 위치
기본값은 보통 헤더의 함수 선언에 둡니다. 같은 범위에서 같은 인자에 기본값을 반복 지정하면 오류입니다.
기본 인자는 호출 지점에서 보이는 선언의 값으로 대입됩니다. 헤더에 공개한 기본값은 API 의미와 재컴파일 경계까지 함께 바꿉니다.
기본값은 보통 헤더의 함수 선언에 둡니다. 같은 범위에서 같은 인자에 기본값을 반복 지정하면 오류입니다.
기본값 없는 매개변수 뒤에 기본값 있는 매개변수를 두며, 호출 시 중간 인자만 건너뛸 수 없습니다.
f(int)와 f(int, int = 0)처럼 생략 후 같은 호출 모양이 되면 overload resolution이 모호해질 수 있습니다.
기본값은 함수 타입이 아니며 호출부에 박힙니다. 공개 헤더 값을 바꾸면 사용자 재컴파일이 필요합니다.
기본 매개변수는 overload를 늘리지 않고 호출을 줄이는 도구입니다. 하지만 공개 API에서는 의미 변경, 모호 호출, 재컴파일 비용을 같이 봐야 합니다.