인라인 인라인 함수
누구나 함수 호출을 사용해 본 적이 있을 것입니다. 함수는 다른 함수에 의해 호출될 때만 활성화되며 호출이 완료된 후에는 해당 메모리 공간이 준비됩니다.
각 함수 호출에는 시간과 공간 비용이 발생한다는 것을 알 수 있습니다. 사용자 정의 함수의 기능 중 하나는 필요할 때 언제든지 호출할 수 있어 코드의 재사용성을 높이고 개발 효율성을 높이는 것입니다. 따라서 코드가 많지 않고 자주 호출되는 함수의 경우 그렇게 하는 것이 비용 효율적인지 신중하게 생각해야 합니다.
다행히도 C++는 이 문제를 고려하는 데 도움이 되었으며 인라인 메커니즘을 제공했습니다. 즉, 여전히 사용자 정의 함수를 사용하지만 컴파일 중에 함수 코드가 함수 호출에 삽입되므로 함수 호출이 필요하지 않습니다. . 일반적인 순차적 실행 코드와 마찬가지로 직렬 프로시저가 이 문제를 해결합니다!
그러면 사용법은 매우 간단합니다. 다음 코드와 같이 함수 정의 앞에 키워드 인라인 선언만 추가하면 됩니다.
#include<iostream>usingnamespacestd;inlineintMax(inta,intb){returna>b?a:b;}intmain(){cout<<Max(3,5)<<endl;cout<<Max(7,9)< <endl;return0;}
컴파일러가 컨텍스트를 이해하고 컴파일 중에 코드 교체를 수행할 수 있도록 인라인 함수의 정의가 호출 전에 나타나야 한다는 점은 언급할 가치가 있습니다. 또한 인라인 함수는 레지스터 변수 와 유사합니다. 이는 컴파일러에 요청하는 것일 뿐입니다. 결국 실제로 인라인될 것인지 여부는 상황에 따라 선택하는 것입니다.