다음을 통해 공유


인라인 함수를 사용 하는 경우

인라인 함수 전용 데이터 멤버에 액세스 하는 것과 같은 작은 함수에 대 한 가장 적합 합니다.주요 목적은 이러한 하나 또는 두 줄 "접근자" 함수 개체에 대 한 상태 정보를 반환 하는입니다. 간단한 함수는 함수 호출의 오버 헤드를 구분합니다.긴 함수 계산에 비례하여 전화 반환할 시퀀스의 시간을 절약 하 로부터 이익을 얻을 인라인.

예제

Point 에서 정의 하는 클래스, 함수 호출 결과 다음과 같은 방법으로 최적화할 수 있습니다:

// when_to_use_inline_functions.cpp
class Point
{
public:
    // Define "accessor" functions as
    //  reference types.
    unsigned& x();
    unsigned& y();
private:
    unsigned _x;
    unsigned _y;
};

inline unsigned& Point::x()
{
    return _x;
}
inline unsigned& Point::y()
{
    return _y;
}
int main()
{
}

두 접근자 함수를 지정 하는 이러한 클래스의 클라이언트에서 비교적 일반적인 작업입니다 가정 좌표 조작 (x 및 y 앞의 예제에서)로 인라인 일반적으로 오버 헤드를 줄여에:

  • 함수 호출 (전달 매개 변수 및 개체의 주소를 스택에 배치 포함)

  • 호출자의 스택 프레임의 보존

  • 새 스택 프레임 설정

  • 반환 값 통신

  • 기존 스택 프레임 복원

  • Return

참고 항목

참조

인라인, __inline, __forceinline