-
디폴트 파라미터와 함수의 프로토타입개발/C·C++ 2021. 4. 17. 18:25
디폴트 파라미터(parameter)는 함수를 정의할 때 인자(argument)가 전달되지 않으면 디폴트로 파라미터에 값을 넣어주는 것입니다. 밑과 지수를 인자로 받아서 결과를 출력하는 pow라는 함수는 지수를 따로 넣어주지 않으면 제곱을 수행합니다.
#include <iostream> using namespace std; int pow(int, int = 2); int main() { cout << pow(2) << endl; } int pow(int base, int exponent) { int result = 1; for (int i = 0; i < exponent; ++i) { result *= base; } return result; }
디폴트 파라미터는 반드시 오른쪽 끝부터 채워야 합니다. pow() 함수를 int pow(int = 2, int)로 선언하는 것을 컴파일 오류입니다. 함수의 선언부(혹은 프로토타입)를 필요할 때 변경해서 사용할 수도 있습니다. 다른 cpp 파일에 다음과 같은 코드를 넣어놓으면 지수에 디폴트로 5를 넣어 5제곱을 수행하게 할 수 있습니다. 마지막에 적용된 프로토타입의 정보로 함수가 호출됩니다.
int pow(int, int = 5); int foo() { return pow(2); }
#include <iostream> using namespace std; int pow(int, int = 2); int foo(); int main() { cout << foo() << endl; } int pow(int base, int exponent) { int result = 1; for (int i = 0; i < exponent; ++i) { result *= base; } return result; }
'개발 > C·C++' 카테고리의 다른 글
[Build process] Three steps (0) 2021.04.19 [Name mangling/Name decoration] 유일한 이름을 위해 (0) 2021.04.19 참조(reference) 변수 (0) 2021.04.17 [Pointer] 배열과 포인터 (0) 2021.04.14 [Dangling Pointer] 유효하지 않은 포인터 (0) 2021.04.10