PDA

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 صبح
سلام


من سی استاندارد کار کرده ام. نه میکنم. من فعلا جاوا یاد میگیرم.