C 언어 개열/C++

디폴트(Default) 매개변수와 인라인 함수

본클라쓰 2010. 8. 19. 07:50

디폴트(Default) 매개변수


디폴트 매개변수는 전달되지 않은 인자를 대신하기 위한 기본 값이 설정되어 있는 변수이다.

#include <iostream>

int fun(int a=10){
    return a;
}

int main() {

    std::cout << fun() << ", "<< fun(5) << std::endl;

    return 0;

}


위의 코드를 실행하면 10, 5가 출력된다. 즉, 함수의 매개변수를 지정하지 않을 때는 디폴트 매개변수로 등록한 변수의 값이 사용된다.


 


인라인 함수


: 인라인 함수란 라인(프로그램의 소스 코드)에 함수가 들어가 있음을 뜻한다. 인라인 함수의 특징은 다음과 같다.

  • 장점 : 실행 속도의 향상
  • 단점 : 구현이 어려움

인라인 함수를 구현하기 위해서는 매크로 함수를 사용하거나 inline 키워드로 선언하여 함수를 인라인화 시킬 수 있다.




매크로 함수

#define fun(x) ((x)*(x))


inline 선언에 의한 함수의 인라인화

  • 컴파일러에 의해서 처리
  • 매크로 함수의 장점을 그대로 반영
  • 구현의 용이성 제공
  • 컴파일러에게 최적화의 기회 제공

#include <iostream>


inline int fun(int a) {

    return a * a;

}


int main() {


    std::cout << fun(5) << std::endl;

    return 0;


}