View Full Version : فرق توابع معمولی و توابع خطی
mr_esmaily
شنبه 11 تیر 1384, 13:36 عصر
سلام
متاسفانه هرچی خوندم متوجه تفاوت موارد فوق نشدم.
محمد میرمصطفی
یک شنبه 12 تیر 1384, 00:46 صبح
میشه مثال بزنی از هر کدوم؟
mr_esmaily
یک شنبه 12 تیر 1384, 13:44 عصر
سلام
معمولی :
void func()
{
...
}
خطی :
inline void func()
{
...
}
مهدی
یک شنبه 12 تیر 1384, 14:43 عصر
توابع inline اگر امکانش باشه کامپایلر اونها رو در کد اصلی بازنویسی میکنه و فراخوانی تابع حذف میشه! مثلا فرض کن:
inline int add(int x, int y)
{
return x + y;
}
...
c = add(a, b);
این کد رو نوشتی. کامپایلر موقع کامپایل کد رو اینجوری فرض میکنه:
c = a + b;
یعنی تابع این وسط رو فراخونی نمیکنه و کارهای مربوط به اون رو در کد اصلی بدون فراخونی تابع انجام میده.
ضمنا ممکنه تو یه تابع رو inline تعریف کنی و کامپایلر نتونه اونو inline کنه. در این صورت هیچ فرقی با تابع معمولی دیگه نداره.
mr_esmaily
یک شنبه 12 تیر 1384, 15:19 عصر
سلام
ممنون حل شد. :flower:
مهدی
دوشنبه 13 تیر 1384, 23:55 عصر
خواهش :موفق:
محمد میرمصطفی
چهارشنبه 15 تیر 1384, 02:52 صبح
جواب چنان کامله که جایی واسه حرف اضافه نمونده. ایول آقا مهدی
rezaTavak
چهارشنبه 15 تیر 1384, 08:23 صبح
سلام
این Inline کلمه کلیدی است؟ اگر هست چرا من تا حالا ندیدم؟ منظورم اینه که از کدام نسخه در سی وجود داره؟
rezaTavak
چهارشنبه 15 تیر 1384, 08:30 صبح
سلام
پیداش کردم توی C++ است.
آخه من سی استاندارد کار کرده ام!
مهدی
پنج شنبه 16 تیر 1384, 00:01 صبح
از منابعی که همیشه معرفی میکنید مشخصه آقا رضا که سی استاندارد کار میکنین :wink:
ضمنا آقای محمد میرمصطفی ما خیلی مخلصیم! لطف دارین :oops: :موفق:
rezaTavak
پنج شنبه 16 تیر 1384, 08:17 صبح
سلام
من سی استاندارد کار کرده ام. نه میکنم. من فعلا جاوا یاد میگیرم.
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.