- 일반 함수 작동 방식
그런데 여기서 함수포인터를 통하여 함수 내용으로 이동하는데 시간이 소요되게된다.
뭐 엄청나게 큰 타임은 아닐지라도 함수내용이 getter setter와 같이 별볼일 없거나 그러면 왔다 갔다 하는 시간이 더 걸리지도 모른다.
그래서 그러한 함수들은 그냥 포인터로 접근하지말고 사용하는 위치에다가 때려박고싶다.
인라인 함수를 쓰면 컴파일 시간이 길어지고 프로그램 크기가 커진다
그러나 런타임 속도가 빠르다(함수로 넘어가는 시간을 절약)
- 메크로 함수
전처리기가 처리한다.
프로그램 가독성 높임
유지보수 용이
변수 사용하는 것보다 처리속도 빠름
단점 : 정의 어려움, 복잡한 매크로 형태로 정의하는 것 한계 있음
- 인라인 함수
그런데 여기서 함수포인터를 통하여 함수 내용으로 이동하는데 시간이 소요되게된다.
뭐 엄청나게 큰 타임은 아닐지라도 함수내용이 getter setter와 같이 별볼일 없거나 그러면 왔다 갔다 하는 시간이 더 걸리지도 모른다.
그래서 그러한 함수들은 그냥 포인터로 접근하지말고 사용하는 위치에다가 때려박고싶다.
클래스 선언부에 바로 구현된 멤버 함수들에 대해서는 inline선언이 없어도 인라인 함수로 자동으로 처리한다. 따라서 이 예에서 isPushed()함수는 인라인 함수로 자동으로 간주된다.
'PL > C & C++' 카테고리의 다른 글
[C++] 함수 객체 (0) | 2021.01.26 |
---|---|
[C++] 참조 사이트 (0) | 2021.01.20 |
[C] 연결 리스트 구조체 만들고 사용하기 (0) | 2021.01.14 |
[C++] class와 struct의 차이 (0) | 2021.01.13 |
[C++] -> 와 . 의 차이 (0) | 2021.01.12 |