PDA

View Full Version : فرق توابع معمولی و توابع خطی



mr_esmaily
شنبه 11 تیر 1384, 12:36 عصر
سلام
متاسفانه هرچی خوندم متوجه تفاوت موارد فوق نشدم.

محمد میرمصطفی
شنبه 11 تیر 1384, 23:46 عصر
میشه مثال بزنی از هر کدوم؟

mr_esmaily
یک شنبه 12 تیر 1384, 12:44 عصر
سلام
معمولی :

void func()
{
...
}
خطی :

inline void func()
{
...
}

مهدی
یک شنبه 12 تیر 1384, 13: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, 14:19 عصر
سلام
ممنون حل شد. :flower:

مهدی
دوشنبه 13 تیر 1384, 22:55 عصر
خواهش :موفق:

محمد میرمصطفی
چهارشنبه 15 تیر 1384, 01:52 صبح
جواب چنان کامله که جایی واسه حرف اضافه نمونده. ایول آقا مهدی

rezaTavak
چهارشنبه 15 تیر 1384, 07:23 صبح
سلام

این Inline کلمه کلیدی است؟ اگر هست چرا من تا حالا ندیدم؟ منظورم اینه که از کدام نسخه در سی وجود داره؟

rezaTavak
چهارشنبه 15 تیر 1384, 07:30 صبح
سلام

پیداش کردم توی C++ است.


آخه من سی استاندارد کار کرده ام!

مهدی
چهارشنبه 15 تیر 1384, 23:01 عصر
از منابعی که همیشه معرفی میکنید مشخصه آقا رضا که سی استاندارد کار میکنین :wink:

ضمنا آقای محمد میرمصطفی ما خیلی مخلصیم! لطف دارین :oops: :موفق:

rezaTavak
پنج شنبه 16 تیر 1384, 07:17 صبح
سلام


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