Hinweise zum Lesen der C++-Grundierung – Funktionsüberladung und Inline-Funktionen

1 – Funktionsüberlastung

        Die Hauptfunktion kann nicht überladen werden;

        Die überladenen Funktionen unterscheiden sich in der Anzahl oder Art der formalen Parameter ;

        Zwei Funktionen dürfen mit Ausnahme des Rückgabetyps nicht alle gleichen Elemente haben (d. h. eine Funktionsüberladung lässt nicht zu, dass nur der Rückgabetyp unterschiedlich ist);

        Wenn es sich bei dem formalen Parameter um einen bestimmten Zeiger- oder Referenztyp handelt , kann eine Funktionsüberladung erreicht werden , indem unterschieden wird, ob er auf ein konstantes Objekt oder ein nicht konstantes Objekt zeigt .

Record lookup(Account *); // 函数作用于 Account 的引用
Record lookup(const Account&); // 重载函数,作用于常量引用

2 – Inline-Funktion

        Inline-Funktionen können den Overhead von Funktionsaufrufen vermeiden; eine Funktion als Inline-Funktion angeben, und der Compiler erweitert sie an jedem Aufrufpunkt, indem er den Overhead von Funktionsaufrufen vermeidet;

        Verwenden Sie das Schlüsselwort   inline , um eine Inline-Funktion zu deklarieren.

        Eine constexpr-Funktion bezieht sich auf eine Funktion, die für konstante Ausdrücke verwendet werden kann. Ihr Rückgabetyp und alle formalen Parametertypen sind Literalwerttypen . Es darf nur eine Rückgabeanweisung im Funktionskörper geben.

        Wenn die constexpr-Funktion initialisiert wird, ersetzt der Compiler den Aufruf der constexpr-Funktion durch ihren Ergebniswert und konvertiert ihn implizit in eine Inline-Funktion .

     

Guess you like

Origin blog.csdn.net/weixin_43863869/article/details/130610951