Hey,
zu a) Von Wikipedia:Aus dem englischen Artikel: [quote]Complete inline expansion is not always possible, due to recursion: recursively inline expanding the calls will not terminate. [/qoute]Es ist für den Compiler aber nicht für jede beliebig komplizierte Funktion möglich, die vom Programmierer gewünschte Ersetzung auch durchzuführen. Dann wird der normale Funktionsaufruf beibehalten.
zu b) Nein die Implementierung des Standards macht der Compilerhersteller.
zu c) Von Wikipedia: [quote]Vielmehr ist das inline im Beispiel als Empfehlung an den Compiler zu sehen, der er aber nicht nachgehen muss[/qoute]
zu d) 1. Nein wenn die auf Size Optimierst dann wäre es für den Compiler ja falsch das zu machen. 2. Es gibt compiler spezifische Erweiterungen wie __forceinline die inline erzwingen
zu f) Der Compiler weis in der Regel besser zu Optimieren als du.
Lies dir mal den englischen Artikel dazu durch: https://en.wikipedia.org/wiki/Inline_expansion da wird das sehr genau beschrieben.
Lesezeichen