C++ 에서는 함수 선언, 템플릿 선언 시 default arguments를 지원합니다.
int some_func(char *foo, int bar=5, int rab=10);
로 선언하면
some_func("hello"); some_func("sdfsdf", 3);
등과 같이 뒷부분 argument를 채워넣는 수고를 덜 수 있고,
템플릿을 쓸 때도, template<class T, class U = int, class V = map<int, int>> 과 같이...
그런데 priority_queue<int, Comp> (comp는 비교클래스입니다.) 를 썼다가 컴파일에러를 보고,
"아 중간에 vector<int> 를 깜빡했구나" 했는데,
priority_queue<int, auto, Comp> 같은 문법이 지원돼서 "이 argument는 default를 그대로 쓰겠다" 라고 명시해줄 수 있다면 참 편할 거 같다는 생각을 했습니다.
마찬가지로 함수를 쓸 때도 default를 그대로 쓰고 싶은 곳은 auto로 채워넣고 말이죠...