인라인 함수

개발/C++ 문법 2012. 8. 7. 12:16

inline 함수 !? : '프로그램 코드라인 안으로 들어가 버린 함수'


1. 매크로 함수의 장점

"일반적인 함수에 비해서 실행속도의 이점이 있다."(스택할당 해제 없음)

* 단점 : 복잡한 함수를 정의하는데 한계가 있다. , 디버깅이 어렵다.

* 특징 : 전처리리가 처리

예시 )

#include <iostream>

#define SQUARE (X) ((X)*(X))

int main(void){

std::cout::<<SQUARE(5)<<std::endl; // => std::cout<<((5)*(5))<<std::endl; 로 변환

return 0;

}

결국 매크로 함수는 정의하기가 복잡하니 ! -> 일반 함수처럼 정의가 가능하면 좋겠다 ! ==>> C++ 기반의 인라인 함수 정의


2. C++ 기반의 인라인 함수 정의

특징 : 컴파일러가 처리해줘 (디버깅이 쉬워진다.)




3. 매크로 함수에는 있지만, 인라인 함수에는 없는 장점


inline int SQUARE(int x) {return x*x} 라고 사용할 시, std::cout<<SQUARE(3.15)시 데이터 손실이 일

어난다. ==>> C++의 템플릿이라는 것을  사용


'개발 > C++ 문법' 카테고리의 다른 글

이름공간(namespace)  (0) 2012.08.07
매개변수의 디폴트 값  (0) 2012.08.06
함수 오버로딩  (0) 2012.08.06
입출력 처리  (0) 2012.08.06
: