일반 함수와 인라인 함수의 가장 큰차이는 프로그래머가 어떻게 작성하느냐에 있는 것이 아니라, C++ 컴파일러가 코드를 프로그램에 어떻게 결합하느냐에 있다.
인라인 함수는 컴파일된 함수 코드가 프로그램의 다른 코드 안에 직접 삽입되어 처리되는 함수이다. 컴파일러가 함수 호출을 그에 대응하는 함수 코드로
대체한다는 것을 의미한다. 인라인 코드를 이용하면 함수를 그 자치에서 처리하므러, 그 함수를 수행하기 위해 프로그램이 다른 주소로 점프했다가
돌아올 필요가 없다. 일반 함수보다 좀더 빠르게 수행된다.
그러나 메모리의 사용측면에서는 인라인 함수가 일반 함수보다 불리하다. 어떤 프로그램에서 인라인 함수를 열번 호출한다면, 프로그램은 그 함수의 사본을
프로그램의 코드 안에 열번이나 삽입해야 한다.
함수 코드를 수행하는 데 걸리는 시간이 매우 짧을 경우에만 인라인 함수를 사용하는 것이 일반 함수를 사용하는 것보다 시간이절약된다.
인라인함수를 사용하려면 다음 두가지 작업중에 적어도 한가지를 반드시 해야 한다.
- 함수 선언 앞에 inLine이라는 키워드를 붙인다.
- 함수 정의 앞에 inLine이라는 키워드를 붙인다.
출처 : C++ 기초플러스 4판
'[ C/ C++ 프로그래밍 ] > [ C/C++ ]' 카테고리의 다른 글
스마트 포인터 (2) | 2010.08.05 |
---|---|
Visual Studio .net 책갈피 단축키 (0) | 2010.06.30 |