Middle
Waarvoor dienen inline-functies in programmeren?
sobes.tech AI
Antwoord van AI
Om de overheadkosten van een functieverzoek (aanmaken van een stackframe, parameters doorgeven, enz.) te verminderen. De compiler plaatst de code van zo'n functie direct op de plaats van de oproep. Dit kan de codegrootte vergroten, maar de prestaties verbeteren.
In Kotlin worden inline-functies vaak gebruikt om lambdas te optimaliseren:
// zonder inline, wordt de lambda een object, wordt een klasse gemaakt
fun notInline(block: () -> Unit) {
block()
}
// met inline, wordt de lambda-code op de oproepplaats ingevoegd
inline fun inlineExample(block: () -> Unit) {
block()
}
fun main() {
notInline {
println("Dit is niet inline")
}
inlineExample {
println("Dit is inline")
}
}
Het gebruik is beperkt vanwege de potentiële vergroting van de APK-grootte. Niet aanbevolen voor grote functies.