int function(int a = 0) { return a + 1; } void main() { cout << "function(2) = " << function(2) << endl; cout << "function() = " << function() << endl; }
프로그램 실행화면
C언어에는 없는 디폴트 매개 변수이다. 매개변수로 값을 넘겨 줄 때 그 값을 지정해 주지 않으면 디폴트로 지정된 값이 대입된다.
그래서 function()를 호출하면 디폴트 값인 0이 대입되어 1을 출력되게 된다. 아직까지는 디폴트 값을 써야만 하는 경우는 만나보지 못했지만 라이브러리 함수를 구현할 때 자주 사용될 것 같다.
그 값이 지정되지 않았을 때는 다르게 동작해야 하는 것들이 많으니 말이다.