학습/C++

접근 지정자와 inline함수

juhyeon 2021. 9. 30. 14:24

* 접근 지정자

 1. privated: 동일한 클래스의 멤버 함수에서만 접근 가능

 2. public: 모든 클래스에서 접근 가능

 3. protected: 클래스 자신과 상속받은 자식클래스에서만 접근 가능

 

* inline함수

 - 기존 함수의 단점(함수 호출에 부가적인 시간이 소요됨(오버헤드))의 개선책

 - inline함수는 함수를 호출하는 곳에 inline함수코드를 확장 삽입함

 - 오버헤드 없음

 - 실행 속도 개선

 - 컴파일러에 의해 적용 여부 결정됨(복잡한 함수는 수용불가)

 - 클래스 선언부에 구현된 멤버함수는 컴파일러에 의해 자동으로 inline처리

 - 매크로와 비교 

     (1) 매크로

          가. 전처리기가 컴파일 전 일괄 치환

          나. 타입체크를 무시하고 무조건 치환

          다. 유지보수가 어렵고 namespace를 무시함

     (2) inline함수 

          가. 컴파일러가 일반함수처럼 문법검사와 타입체크를 진행함

          나. 매크로에 비해 안전한 실행가능

 

 

 

'학습 > C++' 카테고리의 다른 글

다중 상속과 가상 상속  (0) 2021.10.14
상속 기본 개념  (0) 2021.10.07
생성자와 소멸자  (0) 2021.09.23
클래스 만들기  (0) 2021.09.16
string클래스#2  (0) 2021.09.16