Breymann. C++ Einführung und professionelle Programmierung

Breymann. C++ Einführung und professionelle Programmierung Breymann. C++ Einführung und professionelle Programmierung

vred.bioinf.uni.sb.de
von vred.bioinf.uni.sb.de Mehr von diesem Publisher
17.11.2014 Aufrufe

Auslagern des Vergleichs erspart die Änderung von quicksort(), wenn der Operator < anders definiert werden muss, z.B. Vergleich nach Absolutbetrag: // (#include für abs() nicht vergessen) int kleiner(const int& a, const int& b) { // Vergleich jetzt nach dem Absolutbetrag! } return abs(a) < abs(b); Spezialfälle von überladenen Funktionen werden nach den Templates eingefügt. Ein Template ist keine Funktionsdefinition im bisherigen Sinn! Die konkrete Definition wird erst bei Bedarf erzeugt. Breymann C++, c○ Hanser Verlag München Inhalt ◭◭ ◭ ◮ ◮◮ 140 zurück Ende

4.5 inline-Funktionen inline ist eine Empfehlung an den Compiler, einen Funktionsaufruf direkt durch den Funktionskörper zu ersetzen. Vorteil: Zeitersparnis Empfehlenswert nur für Funktionen mit kurzer Ausführungszeit. inline int quadrat(int x) { } return x*x; z = quadrat(100); wird dann ersetzt durch z = 100*100; inline-Funktionen sind in Header-Dateien (*.h) zu definieren, nicht in Implementationsdateien (*.cpp), um Linker-Fehler zu vermeiden. Breymann C++, c○ Hanser Verlag München Inhalt ◭◭ ◭ ◮ ◮◮ 141 zurück Ende

4.5 inline-Funktionen<br />

inline<br />

ist eine Empfehlung an den Compiler, einen Funktionsaufruf direkt durch<br />

den Funktionskörper zu ersetzen. Vorteil: Zeitersparnis<br />

Empfehlenswert nur für Funktionen mit kurzer Ausführungszeit.<br />

inline int quadrat(int x) {<br />

}<br />

return x*x;<br />

z = quadrat(100); wird dann ersetzt durch z = 100*100;<br />

inline-Funktionen sind in Header-Dateien (*.h) zu definieren, nicht in<br />

Implementationsdateien (*.cpp), um Linker-Fehler zu vermeiden.<br />

<strong>Breymann</strong> <strong>C++</strong>, c○ Hanser Verlag München<br />

Inhalt ◭◭ ◭ ◮ ◮◮ 141 zurück Ende

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!