Inline-Funktionen in C++

Inline-Funktionen in C++

Teil 39 des Workshops "C++ Programmieren lernen"

von -
Inline-Funktionen in C++

Durch die Optimierung der Funktion fakultaet() kann der Code noch etwas verbessert werden. Die folgende Version kommt ohne die if-Abfrage aus und verwendet stattdessen einen ternären Operator. Sie enthält nur einen Befehl und wird Inline-Funktion genannt. Durch die Verwendung des Schlüsselwortes „inline“ vor der Funktion wird erreicht, dass der Funktionskörper an der entsprechenden Stelle eingefügt wird und das Programm muss nicht zwischen der Deklaration und der Definition hin- und herspringen muss. Um eine Funktion inline zu deklarieren, wird noch vor dem Rückgabetypen das Schlüsselwort geschrieben. Ein Beispiel:

inline int berechnen (int a, int b)

{

return a + b;

}

 

Löschen Sie im letzten Programm die Funktion fakultaet() und ersetzen Sie diese durch den folgenden Ausdruck:

inline int fakultaet (int n)

{return (n==1)?1: (fakultaet(n-1) * n);}

Speichern Sie das Programm, kompilieren es anschließend und schauen Sie sich an, wie das Ergebnis effektiver produziert wird. Doch Achtung: Längere Inline-Funktionen reduzieren die Lesbarkeit eines Programmes.

 

Zusammenfassung Kapitel 5:

  • Die if-Anweisung überprüft die Gültigkeit eines Ausdrucks und gibt ein boolesches true oder false zurück.
  • Eine if-Anweisung kann weiter geschachtelt werden. Die Anweisungen werden nur dann ausgeführt, wenn die Bedingungen zutreffen.
  • Eine if-Anweisung kann optional eine else-Anweisung enthalten, die ausgeführt wird, wenn die Bedingung nicht erfüllt ist.
  • Die switch-Anweisung ist eine alternative Form der if-else-Anweisung. Hier wird zunächst der Wert einer Variablen überprüft und dann die abhängige Anweisung ausgeführt.
  • Bei der for-Schleife wird eine Laufvariable nach jedem Schleifendurchlauf verändert, bis die Abbruchbedingung erreicht ist.
  • Eine while- und do-while-Schleife wird solange ausgeführt, bis eine Abbruchbedingung erfüllt ist. Deshalb müssen diese Schleifen über einen Hoch- oder Herunterzähler verfügen.
  • Jede Schleife kann durch den break-Befehl jederzeit abgebrochen werden.
  • Eine continue-Anweisung in einer for- oder while-Schleife hat zur Folge dass die restlichen Anweisungen übersprungen werden, die Schleife aber fortgesetzt wird.
  • Funktionen werden als Prototypen deklariert und nach der main()-Funktion definiert.
  • Variablen innerhalb einer Funktion haben nur einen lokalen Gültigkeitsbereich.
  • Werte können als Parameter an eine Funktion übergeben werden, falls sie in im Prototypen oder in der Definition deklariert sind.
  • Überladene Funktionen haben den gleichen Namen aber unterschiedliche Parameter.
  • Rekursive Funktionen können sich selbst aufrufen bis eine Abbruchbedingung erreicht ist.
  • Kurze Funktionen mit einem oder zwei Befehlen können als inline-Funktion deklariert werden.

 

 

Dieser Artikel ist Teil unseres kostenlosen Workshops “C++ Programmieren lernen” – Geeignet für Einsteiger und Fortgeschrittene. Machen auch Sie mit und lernen Sie in 50 Artikeln, wie Sie Programme selbst schreiben!

 

 

Artikelbild: Fotolia / bramgino

 

Keine Kommentare

Kommentar hinterlassen (Freischaltung erfolgt in Kürze)