Supportnet / Forum / Anwendungen(Java,C++...)
Was ist eine inline-Funktion (C++)
Frage
Ich habe bisher leider keine befriedigende Erklärung gefunden, ich hoffe, jemand von Euch kann mir das erklären:
Was ist in C++ eine "inline"-Funktion und wozu braucht man das ??
Danke !!
Antwort 1 von LinuxRulez
Das Schlüsselwort "inline" bewirkt, dass die Funktion keine richtige Funktion ist, sondern bei jedem Auftreten (z.B. in main()) durch alle Befehle der inline-Funktion ersetzt wird. Sollte man also nur verwenden, wenn man die Funktion nicht allzuoft verwendet.
MfG LinuxRulez
MfG LinuxRulez
Antwort 2 von LinuxRulez
Nachtrag: Der Befehlszeiger muss nicht geändert werden und wieder zurückgesprungen werden usw., deshalb sind inline-Funktionen schneller. Das könnte man natürlich auch mit dem Preprozessor lösen, doch inline-Funktionen sind direkt in der Sprache integriert und werden somit gleich gehandhabt.
MfG LinuxRulez
MfG LinuxRulez
Antwort 3 von Pumuckel
also so ähnlich wie wenn man beispielsweise schreibt
#define memspace 512
bloß daß die inline-Funktion keine Compileroption ist und beim Auftreten mehrere Ausdrücke/Befehle eingefügt werden ????
Versteh ich das richtig ??
#define memspace 512
bloß daß die inline-Funktion keine Compileroption ist und beim Auftreten mehrere Ausdrücke/Befehle eingefügt werden ????
Versteh ich das richtig ??
Antwort 4 von semi
Mann kann es als einer Art 'Kürzel' innerhalb von Code sehen. Kurz gesagt, kleine Funktionen, die nicht als eigenständige Funktionen übersetzt werden, sondern bei der Übersetzung an den Aufrufstellen eingesetzt werden. Wozu? Um die Übersichtlichkeit von Code zu erhöhen, ohne den Nachteil eines Funktionsaufrufs (Stack für Parameter, Rückgabewerte etc.)

