PDA

View Full Version : سوال: نحوه عملکرد توابع inline



Serveh_20
سه شنبه 31 اردیبهشت 1392, 11:51 صبح
راستش من نحوه ی عملکردشون رو نمیدونم فقط میدونم یه کپی از تابع رو در محل فراخوانی میذاره به جای ادرس بازگشت ولی هر چی فکر میکنم نمی دونم تو برنامه ی پایین چه جوریه!!!!


inline int cube( int n)
{ return ++n-n*n/n+n++;
}

void main()
{ int x=-5;
x=cube(2*x++-3*x++);
}

scofield007
سه شنبه 31 اردیبهشت 1392, 13:06 عصر
دوست عزیز کار تابع inline اینه که وقتی شما تابعی رو از نوع inline معرفی می کنید در هنگام اجرای برنامه برای اینکه سرعت اجرای آن بالا برود اگر تهداد کدهای شما زیاد نباشد(مثلا 1000 خط) تابع به نحوی برای کامپایلر داخل تابع اصلی معرفی میشود تا همانطور که گفتم سرعت اجرای آن بالا برود

Serveh_20
سه شنبه 31 اردیبهشت 1392, 14:51 عصر
حالا خروجیه این چی میشه؟

Serveh_20
پنج شنبه 02 خرداد 1392, 00:29 صبح
:گریه:
:افسرده:
:اشتباه:

UfnCod3r
پنج شنبه 02 خرداد 1392, 08:42 صبح
اخه چرا الکی کد رو ناخانا می کنید . اگه منظور از تابع cube مکعب عدده که این طوری میشه یدست اوارد .

inline int cube( int n)
{
return n*n*n;
}

خروجیشو خب خودت امتحان کن ببین چ عددی می ده

Serveh_20
پنج شنبه 02 خرداد 1392, 11:15 صبح
اخه چرا الکی کد رو ناخانا می کنید . اگه منظور از تابع cube مکعب عدده که این طوری میشه یدست اوارد .

inline int cube( int n)
{
return n*n*n;
}

خروجیشو خب خودت امتحان کن ببین چ عددی می ده

اخه مهندس مشکلم اینه این سوال کنکور بوده و جواب و 4 زدن ولی من تست میکنم یه عدد دیگه میده ,دستی هم که تریس میکنم یه چیز دیگه میارم

saied_hacker
پنج شنبه 02 خرداد 1392, 11:41 صبح
جوابش ربطی به Inline بودن یا نبودن نداره شاید توی تابع پرانتزی چیزی داشته تو نزاشتی....