구글에 치면 알겠지만 inline 은 메크로를 대신하는 역활을 하게됨.
#define 따위의 메크로는 소스를 통채로 치환하기때문에 종종 사이드이팩트등등 문제가 발생하게되고 코드 설계상 꼭좋다고만 볼수없음.
inline 함수는 컴파일시에 이 소스가 통채로 복사되게 됨. 함수가 불릴땐 스택콜이였나 지식이얕아서 기억이안나는데
이걸통해서 함수스택에 차례로 쌓이게되고 이거 수행시간이 조금 김. inline은 이런 수행시간을 줄여주지.
하지만 소스가 그대로 복사되니까 당연히 컴파일시에 오브젝트 파일의 크기가 켜지는단점이있음.
VS 같은 컴파일러에서는 알아서 최적화해서 필요하다면 inline으로도 치환해주느걸로 알고있는데
꼭 신경써서 코딩해야하는경우는 음.. 잘모르겠다
register나 inline 키워드 같은 건 컴파일러한테 권고하는 거지 강제는 아님. inline으로 지정해도 컴파일러가 판단해서 비효율적일 거라고 판단하면 inline 안해버림. 그래서 __forceinline이라는 게 별도로 존재하고.
역활->역할 메크로->매크로 통채로->통째로
이였나->이었나 김->긺
ㅇㅇ 맞다 너덕분에 기억남 inline으로지정해줘도 알아서 풀때도있고 자동으로 매칭시켜주는것도 있음 forceinline이란건 첨들어보네 아직 공부해야할듯