Wann Inlinefunktionen verwendet
Inlinefunktionen sind gut für kleine Funktionen, z. B. Zugriff auf privaten Datenmember verwendet.Der wesentliche diesem Zweck ein oder zweispurigen „Accessor“ Funktionen ist, Zustandsinformationen über Objekte zurückzugeben. kurze Funktionen sind für den Mehraufwand von Funktionsaufrufen vertraulich.Längere Funktionen entsprechend verbringen weniger Zeit im Aufruf/Sequenz zurückgibt und profitieren kleiner von Inlining.
Beispiel
Die Point-Klasse eingeführt in Funktionsaufruf-Ergebnisse kann optimiert werden, wie nachfolgend veranschaulicht:
// 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()
{
}
Anmaßende beigeordnete Manipulation ist ein relativ allgemeiner Vorgang in einem Client eine solche Klasse und gibt die beiden Accessorfunktionen (x und y ), wie im vorhergehenden Beispiel inline in der Regel den Mehraufwand gezeigt wird:
Parameter (einschließlich Funktionsaufrufe, der die Adresse des Objekts auf dem Stapel abgelegt und übergibt)
Beibehaltung des Stapelrahmens des Aufrufers
Eine neue Stapelrahmen setup
Kommunikation Rückgabewert
Die alte Stapelrahmen wiederherstellung
Return