Ist es sinnvoll, Vorlagen in Headern zu definieren und der Compiler zu bestimmen, ob das Inlining einer Funktion vorteilhaft ist? Ich habe gehört, dass moderne Compiler besser wissen, wann sie eine Funktion einbinden müssen, und inline
Hinweise ignorieren .
edit: Ich möchte beide Antworten akzeptieren, aber das ist nicht möglich. Um das Problem zu schließen, akzeptiere ich die Antwort von phresnel , da sie die meisten Stimmen erhalten hat und er formal Recht hat, aber wie ich in den Kommentaren erwähnt habe, betrachte ich die Antworten von Puppy und Component 10 aus verschiedenen Blickwinkeln auch als richtig .
Das Problem liegt in der C ++ - Semantik, die bei inline
Schlüsselwörtern und Inlining nicht streng ist . phresnel sagt "schreibe inline, wenn du es ernst meinst", aber was eigentlich damit gemeint inline
ist, ist nicht klar, da es sich von seiner ursprünglichen Bedeutung zu einer Direktive entwickelt hat, die "Compiler davon abhält, über ODR-Verstöße zu meckern", wie Puppy sagt.