c++ 언어에서는 함수의 매개변수의 기본값을 지정 가능하다. 함수를 호출할 때 인자를 전달하지 않으면, 컴파일러는 지정된 기본값으로 함수가 호출되었다고 간주한다. 여기서 기본값을 디폴트 값이라고 한다.
매개변수의 디폴트 값이 설정되어 있으면, 선언된 매개변수의 수보다 적은 수의 인자전달이 가능하다. 그리고 전달되는 인자는 왼쪽에서부터 채워져 나가고, 부족분은 디폴트 값으로 채워진다.
함수의 원형을 별도로 선언하는 경우, 매개변수의 디폴트 값은 함수의 원형 선언에만 위치시켜야 한다.
매개변수 중 일부에만 디폴트 값을 지정할 수도 있다. 이를 부분적 디폴트 값 설정이라고 한다. 단, 함수의 호출 시 인자는 왼쪽에서 오른쪽으로 전달되기 때문에 부분적 디폴트 값 설정 시 디폴트 값은 오른쪽 매개변수부터 차례대로 지정해야 한다.
참고자료