Hey,
zu a) Von Wikipedia:
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.
Aus dem englischen Artikel: [quote]Complete inline expansion is not always possible, due to recursion: recursively inline expanding the calls will not terminate. [/qoute]
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.