LANG/C++

[C++] 01-4.인라인(inline) 함수

혀니리리 2023. 5. 11. 13:05
728x90

인라인 함수 의역: '프로그램 코드라인 안으로 들어가 버린 함수'

 

기존 C언어에서 매크로 함수의

장점: "일반적인 함수에 비해 실행속도의 이점이 있음"

단점: "정의하기가 어려움, 복잡한 함수를 매크로 형태로 정의하는 데에 한계가 있음"

 

#include <iostream>
#define SQUARE(x) ((x) * (x))

int main(void)
{
	std::cout << SQUARE(5) << std::endl;
    return 0;
}

이것이 기존 매크로함수의 형태.

 

C++에서는 장점과 단점을 보완한 인라인 함수가 존재함.

"정의하기 복잡하니 일반함수처럼 정의 가능!"

 

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

기존 매크로함수는 자료형에 의존하지 않은 함수이지만 인라인 함수자료형에 의존하기 때문에 데이터 손실 발생 가능.

이런 점을 보완하기 위한 것이 C++의 템플릿.(템플릿은 나중에 나옴)

 

 

이렇게 되면 데이터 손실 발생 X

 

728x90