C inline funksiyalar
Inline funksiya
Ba’zan boshqalarning funksiyalarida inline kalit so‘zi ishlatilganini ko‘rishingiz mumkin. Boshlovchi sifatida undan tez-tez foydalanishingiz shart emas, lekin u nimani anglatishini bilgan yaxshi.
Inline funksiya — kompilyatordan o‘ziga o‘tish (jump) o‘rniga o‘z kodini chaqirilgan joyga bevosita joylashtirishni so‘raydigan kichik funksiya.
Bu qisqa va tez-tez ishlatiladigan funksiyalarni biroz tezroq qilishi mumkin, chunki oddiy funksiya chaqiruvidagi kichik kechikishni yo‘qotadi.
Oddiy funksiyani inline funksiya bilan solishtiraylik:
Oddiy funksiya
int square(int x) {
return x * x;
}
Inline funksiya
inline int square(int x) {
return x * x;
}
Ikkala funksiya ham bir xil ishlaydi. Yagona farq shundaki, inline varianti kompilyatorga funksiya kodini u ishlatilgan joyga bevosita nusxalashni taklif qiladi.
Inline funksiya misoli
Quyida inline funksiyadan foydalanadigan oddiy misol keltirilgan:
Misol
#include <stdio.h>
inline int add(int a, int b) {
return a + b;
}
int main() {
printf("%d", add(5, 3));
return 0;
}
Bu yerda kompilyator add(5, 3) chaqiruvini bevosita 5 + 3 kodi bilan almashtirishi mumkin — bu alohida funksiyani chaqirishga ketadigan vaqtni tejaydi.
Inline qachon ishlatilmasligi kerak
Inline funksiyalar kichik va oddiy funksiyalar uchun eng mos keladi. Quyidagilar uchun ulardan foydalanmang:
- Katta funksiyalar (ular dasturingiz hajmini oshiradi)
- Rekursiv funksiyalar
- Kam chaqiriladigan funksiyalar
Inline funksiyalar juda ko‘p bo‘lsa, dasturingiz sekinroq va kattaroq bo‘lib qolishi mumkin — bu muammo kodning shishib ketishi (code bloat) deb ataladi.
Inline va oddiy funksiya
| Oddiy funksiya | Inline funksiya |
|---|---|
| Har safar chaqirilganda kod funksiyaga o‘tadi | Kod chaqirilgan joyga bevosita joylashtiriladi |
| Biroz sekinroq (kichik kechikish) | Biroz tezroq |
| Katta funksiyalar uchun mos | Kichik funksiyalar uchun mos |
Ushbu darslikda biz oddiy funksiyalardan foydalanishda davom etamiz.
Xulosa
- Inline funksiyalar
inlinekalit so‘zi bilan aniqlanadi. - Ular kichik, tez-tez ishlatiladigan funksiyalarni tezlashtirishi mumkin.
- Funksiyani inline qilish yoki qilmaslikni kompilyator hal qiladi.
- Asosan qisqa va oddiy funksiyalar uchun ishlatiladi.
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
