Czy nigdy nie należy używać statycznej funkcji inline?

Istnieją dwa implikacje korzystania zinline słowo kluczowe (§ 7.1.3 / 4):

Toporadnik kompilator, który zastępuje ciało funkcji w miejscu wywołania, jest korzystniejszy niż zwykły mechanizm wywołania funkcji.Nawet jeśli pominięto podstawianie w wierszu, inne reguły (zwłaszcza w.r.tJedna reguła definicji) dla inline są przestrzegane.

Zazwyczaj każdy kompilator głównego nurtu w razie potrzeby zastąpi ciało funkcji w punkcie wywołania, więc funkcja znakowaniainline tylko dla#1 nie jest naprawdę potrzebny.

Dalej w.r.t#2, Jak rozumiem, kiedy deklarujesz funkcję jakostatic inline funkcjonować,

Thestatic słowo kluczowe funkcji wymuszainline funkcja posiadania wewnętrznego powiązania (funkcje inline mają połączenie zewnętrzne) Każde wystąpienie takiej funkcji jest traktowane jako osobna funkcja (adres każdej funkcji jest inny) i każda instancja tych funkcji ma swoje własne kopie statycznych zmiennych lokalnych i literałów ciągów (funkcja inline ma tylko jedną kopię)

Tak więc taka funkcja działa jak każda innastatic funkcja i słowo kluczoweinline nie ma już znaczenia, staje się zbędny.

Tak, praktycznie oznaczanie funkcjistatic iinline oba nie mają żadnego zastosowania. Albo tak powinno byćstatic(nie najbardziej preferowane) lubinline(najbardziej preferowany),
Więc używastatic iinline razem na funkcjipraktycznie nieprzydatny?

questionAnswers(5)

yourAnswerToTheQuestion