인라인 함수 2

C++ 인라인 함수

인라인 함수 (inline function)인라인 함수는 함수 호출 시 발생하는 오버헤드를 줄이기 위해 함수를 호출하는 대신 함수가 호출되는 곳마다 함수의 코드를 복사해 넣어주는 방법입니다. - 인라인은 새로운 종류의 함수가 아니라 함수에 적용할 수 있는 새로운 특성입니다. 그럼 오버헤드는 뭘까요실제로 함수가 호출되는 과정은 상당히 복잡합니다. - 함수의 인자를 스택에 저장 -> 함수가 리턴될 때 돌아올 주소를 스택이나 레지스터에 저장 -> 함수의 시작 주소로 점프 -> 함수의 코드 실행 -> 함수에서 만들어진 지역변수, 스택에 저장된 인자 해제, 리턴값을 레지스터에 저장 -> 함수를 호출할 때 저장해둔 주소(다음에 수행할 문장의 위치)로 되돌아갑니다. 이렇듯 몇 개의 명령어로 구성된 간단한 함수를 호출..

inline 함수

인라인함수 #include inline int add(int a, int b){     return a - b;} int main(int argc, char* argv[]){     add(5,3);     return 0;} 위 프로그램의 결과값은 2입니다.inline을 붙이지 않는다고 해도 결과값은 똑같이 2입니다. 그럼 왜 inline함수를 쓸까요? inline을 쓰지 않았다고 가정하면실행과정은.. 1. 메인함수가 실행된다2. 메인함수가 멈춘다 (add함수 호출로 인해)3. add함수를 호출한다4. add함수에서 계산한 값을 리턴한다5. 메인함수로 리턴값을 돌려준다하지만, inline함수를 사용했다고 하면,실행과정은.. 1. 메인함수가 실행된다2. add함수가 실행된다3. add함수에서 계산한 값을..