-
Default arguments개발/C·C++ 2021. 7. 5. 14:39
사소한 거지만 데 잠시 고민해봤습니다. 왜 디폴트 매개변수는 오른쪽 끝에서부터만 가능한 걸로 제한을 걸었을까. 함수를 호출할 때 왼쪽부터 인수를 채웁니다. 선언된 순서대로 매개변수를 넣어줘야 합니다. 사실 그렇게 하지 않으면 바로 컴파일 에러가 발생해버립니다.
그렇기 때문에 디폴트 매개변수 기능을 만들 때 반대 방향인 오른쪽에서부터 하도록 강제하면 개발자가 실수로라도 함수를 잘못 설계하는 일이 매우 적어지는 것 같습니다. 또한 기본 함수 호출 규약인 __cdcel이 파라미터를 오른쪽부터 전달하기 때문에 파라미터에 디폴트로 값을 넣어야 한다면 오른쪽부터 하는 것이 더 안전해보입니다.
'개발 > C·C++' 카테고리의 다른 글
[overloading] operator << (0) 2021.07.28 condition_variable::wait (0) 2021.07.26 [Template] 템플릿 구체화 (0) 2021.07.05 [Priority queue] 간단한 참고 (0) 2021.07.03 Guaranteed Copy Elison (0) 2021.06.27