Sobes.tech
Junior — Middle

Czy mógłbyś wyjaśnić koncepcję funkcji inline i jakie są ich zalety?

sobes.tech AI

Odpowiedź od AI

Funkcje inline to funkcje, dla których kompilator próbuje zastąpić wywołanie funkcji jej ciałem bezpośrednio w miejscu wywołania, zamiast zwykłego przejścia do adresu funkcji.

Zalety funkcji inline:

  • Zmniejszenie narzutu na wywołanie funkcji (brak przejścia i powrotu).
  • Możliwość lepszej optymalizacji kodu przez kompilator.

Jednak nadmierne użycie funkcji inline może zwiększyć rozmiar końcowego binarium.

Przykład w Swift:

inline func square(_ x: Int) -> Int {
    return x * x
}

Kompilator spróbuje wstawić ciało funkcji square zamiast wywołania.