728x90
반응형
https://namu.wiki/w/%EC%98%A4%EB%B2%84%ED%97%A4%EB%93%9C
▣ 오버헤드 : 어떤 명령어를 처리하는데 소비되는 간접적, 추가적 컴퓨터 자원
▣ 함수 호출 오버헤드 : 함수 호출에 따른 시간흐름
▣ sum함수를 호출할 때 num1+num2 연산을 하는 시간보다 함수를 호출하는 시간, 리턴에 따른 시간이 더 많이 들어간다. 그렇기 때문에 짧은 코드 함수는 인라인 함수를 사용하면 속도해야 처리속도라 빨라진다.
▣ 인라인함수 : inline 키워드를 이용해서 선언한다.
▣ 인라인함수를 통해서 호출하게 되면 함수의 코드를 그대로 호출한 함수에 삽입하여 컴파일을 하기 때문에 실행 속도가 빨라진다.
▣ 위에 예시처럼 인라인함수를 호출하면 mian함수에 들어있는 것처럼 코드를 삽입한다.
그리고 인라인함수는 단순삽입을 하기 때문에 속도가 빨라지지만 전체의 코드가 커지게 되는 단점이 있다.
▣ 인라인 함수는 재귀 함수, static 변수, switch문, 반복문, goto문 등은 사용할 수 없다.
▣ 클래스에도 멤버함수들에 대한 부분은 자동으로 인라인 함수로 자동 처리된다.
728x90
반응형
'[ C++ ] > - C++ 문법정리' 카테고리의 다른 글
C++ 06 [메모리 할당] (0) | 2023.03.24 |
---|---|
C++ 05 [객체배열] (0) | 2023.03.24 |
C++ 03 [클래스, 멤버변수, 멤버함수, 생성자, 소멸자, 접근지정자] (0) | 2023.03.10 |
C++ 02 [string, cin.getline(), width(), std::right, 정렬] (0) | 2023.03.03 |
C++ 01 [시작, 역사, 특징, 컴파일, 링킹, 디버깅, cout, cin, namespace] (0) | 2023.02.28 |
댓글