Sdílet prostřednictvím


Kdy použít vložené funkce

Vložené funkce jsou nejvhodnější pro malé funkce, jako je například přístup k soukromých dat členů.Hlavním účelem těchto funkcí "přístupový objekt" jednu nebo dvě linky je vrátit státu informace o objektech; krátké funkce jsou citlivé na režii volání funkce.Delší funkce stráví poměrně méně času v/vrácení volací posloupnost a těžit z méně inlining.

Příklad

Point Třídy, v Výsledky volání funkce lze optimalizovat takto:

// 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()
{
}

Souřadnice manipulaci za předpokladu, že je poměrně běžné operace v klientovi tyto třídy, určení dvě funkce mechanismu přístupu (x a y v předchozím příkladu) jako vložené obvykle ukládá režijní náklady na:

  • Volání funkce (včetně předávání parametrů a uvedení adresy na objekt v zásobníku)

  • Zachování volajícího zásobníku rámeček

  • Nová instalace zásobníku rámeček

  • Vrátit hodnotu komunikace

  • Obnovení původní snímek zásobníku

  • Vrátit

Viz také

Referenční dokumentace

vložené, __inline, __forceinline