Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Leax Mini JLI'ler
Anmeldedatum: 15.07.2003 Beiträge: 43
Medaillen: Keine
|
Verfasst am: 15.07.2003, 16:13 Titel: Inline Funktionen |
|
|
Kann man so eine Inline Funktion so oft man will benutzen, oder nur einmal?
Und was ist überhaupt gegenüber einer normalen Funktion anders?
Was ist der Vorteil gegenüber eines Präprozessormakros? |
|
Nach oben |
|
|
Hazel JLI MVP
Alter: 39 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 15.07.2003, 16:28 Titel: |
|
|
Bei einer inline-Funktion wird kein echter Funktionsaufruf getätigt, sondern der Code der Funktion wird kopiert. Dadurch gewinnst du zwar an Geschwindigkeit, aber dein Code wird größer.
Zitat: |
Was ist der Vorteil gegenüber eines Präprozessormakros?
|
Typensicherheit. _________________ *click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
|
|
Nach oben |
|
|
Mr.X Junior JLI'ler
Anmeldedatum: 15.04.2003 Beiträge: 88
Medaillen: Keine
|
Verfasst am: 15.07.2003, 16:43 Titel: |
|
|
Ja, man kann sie so oft benutzen wie man will.
ABER, der Compiler entscheidet darüber, ob er den Funktionsaufruf durch den Funktionscode ersetzt, oder es bei einem Funktionsaufruf belässt. Du machst lediglich einen Optimierungsvorschlag, welcher aber vom Compiler auch ignoriert werden kann.
Im Gegensatz zu den Makros, wo der Makroaufruf in jedem Fall durch den Code ersetzt wird.
Zitat: | Und was ist überhaupt gegenüber einer normalen Funktion anders?
|
Nichts! Das ist wie oben gesagt nur ein Vorschlag für den Compiler, wenn dieser ans Optimieren geht. |
|
Nach oben |
|
|
Leax Mini JLI'ler
Anmeldedatum: 15.07.2003 Beiträge: 43
Medaillen: Keine
|
Verfasst am: 15.07.2003, 16:57 Titel: |
|
|
ok, danke an euch beide! |
|
Nach oben |
|
|
nEp Junior JLI'ler
Anmeldedatum: 03.06.2003 Beiträge: 75
Medaillen: Keine
|
Verfasst am: 15.07.2003, 18:59 Titel: |
|
|
Ja dadurch ist eine inline "Funktion" im Gegensatz zu "normalen" Funktionen auch schneller. |
|
Nach oben |
|
|
abc_d JLI Master Trainee
Alter: 34 Anmeldedatum: 27.01.2003 Beiträge: 615
Medaillen: Keine
|
Verfasst am: 15.07.2003, 21:23 Titel: |
|
|
Meines Wissens verwendet Visual C++ inline aber nicht, oder irre ich mich da? _________________ http://mitglied.lycos.de/sarti/linuxisevil.gif Linux is evil - get the fact.
Never touch a running System - der Systemling |
|
Nach oben |
|
|
Christian Rousselle Site Admin
Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 15.07.2003, 21:25 Titel: |
|
|
Doch, Inline schon (soweit ich weiss) aber register wird nicht berücksichtigt. |
|
Nach oben |
|
|
abc_d JLI Master Trainee
Alter: 34 Anmeldedatum: 27.01.2003 Beiträge: 615
Medaillen: Keine
|
Verfasst am: 15.07.2003, 21:31 Titel: |
|
|
ICh hab gerade nachgeschaut, es wird doch unterstützt. Ich habe es mit Register verwechselt _________________ http://mitglied.lycos.de/sarti/linuxisevil.gif Linux is evil - get the fact.
Never touch a running System - der Systemling |
|
Nach oben |
|
|
|