Programmiersprache C/C++

Inline-Funktionen

Das Konzept der strukturierten Programmierung führt zu einer umfangreichen Arbeit mit Funktionen. Den damit verbundenen Vorteilen steht ein Nachteil gegenüber:
Es entsteht ein Laufzeitaufwand für Funktionsaufruf, Parametervermittlung und Wertrückgabe.

Bei sehr kurzen Funktionen kann dieser "Overhead" wesentlich werden im Vergleich zum Aufwand für die Abarbeitung der eigentlichen Funktion.

Zur Lösung dieses Konflikts bieten sich folgende Kompromisse an:

Ab einer gewissen Komplexität kann ein C++-Compiler die Inline-Aufforderung zurückweisen: Die Funktion wird wie eine normale Funktion behandelt.
Dies ist zum Beispiel generell bei rekursiven Aufrufen der Fall.

Beispiel:
Makro

  #define max(a,b)    (((a) > (b)) ? (a) : (b))
Inline-Funktion
  inline int max(int a, int b)
  {
    return ( a > b ) ? a : b;
  }

Zurück zum Menü
Zurück zur vorigen Seite Weiter zur nächsten Seite

P. Böhme, 17.12.1995