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