본문 바로가기
개발/C++

c++ 매크로 함수, 인라인(inline)함수

by 파란쥐_ 2021. 12. 26.

c++ 매크로 함수, 인라인(inline)함수

 

매크로 함수의 장점-> 일반적인 함수에 비해 실행속도가 빨라진다.

매크로 함수의 단점-> 복잡한 함수는 매크로의 형태로 정의하는데 한계가 있다.

 

#include <iostream>

#define SQUARE(x) ((x)*(x))

 

void main()

{

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

}

 

c#에서는 #define 이 없어 const를 통해 대체하였었다.

 

매크로 함수의 단점을 보안하기 위한 것이 인라인 함수(inline)

인라인 함수의 장점-> 매크로 함수의 장점을 가지고있으며 단점도 보안되었다.

인라인 함수의 단점-> 매크로함수는 자료형에 의존하지 않지만 인라인함수는 자료형이 있어 데이터의 손실이 발생된다.

인라인 함수의 특이점-> 컴파일러는 함수의 인라인화가 성능에 해가된다 판단되면 키워드를 무시하기도 하며 필요한 경우 임의로 인라인 처리하기도 한다.

 

#include <iostream>

 

inline int SQUARE(int x)

{

return x*x;

}

void main()

{

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

}

 

 

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

using 키워드  (0) 2021.12.27
namespace 네임스페이스, 네임스페이스 중첩  (0) 2021.12.27
c++함수 오버로딩  (0) 2021.12.26
c++의 입출력  (0) 2021.12.26
c++공부시작  (0) 2021.12.26