Ponieważ szablony są zdefiniowane w nagłówkach, a kompilator jest w stanie określić, czy wstawianie funkcji jest korzystne, czy ma to jakiś sens? Słyszałem, że współczesne kompilatory wiedzą lepiej, kiedy wstawić funkcję i ignorują inlinewskazówkę.
edycja: chciałbym zaakceptować obie odpowiedzi, ale nie jest to możliwe. Aby zamknąć sprawę, przyjmuję odpowiedź phresnela , ponieważ otrzymał on najwięcej głosów i formalnie ma on rację, ale jak wspomniałem w komentarzach, uważam, że odpowiedzi Szczenięcia i Komponentu 10 również są poprawne, z innego punktu widzenia .
Problem tkwi w semantyce C ++, która nie jest ścisła w przypadku inlinesłów kluczowych i inliningu. phresnel mówi „pisz w tekście , jeśli masz to na myśli”, ale to, co właściwie oznacza, inlinenie jest jasne, ponieważ ewoluowało od pierwotnego znaczenia do dyrektywy, która „powstrzymuje kompilatory narzekanie na naruszenia ODR”, jak mówi Puppy .