C inline funksiyalar


ULASHISH

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; }

O‘zingiz sinab ko‘ring »

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 inline kalit 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!