ورود

View Full Version : فرستادن یک دستور به صورت پارامتر



shr6557
جمعه 26 خرداد 1385, 12:58 عصر
سلام
آیا می شه یه تابع رو به صورت یک پارامتر فراخونی کرد
منظورم اینکه که مثلا یه تابع داشته باشیم که یه سری پارامتر داشته باشه که یکی از این پارامتر ها تابعی باشه که باید اونو اجرا کنه نمی دونم منظورم رو فهمیدید یا نه؟

mzjahromi
جمعه 26 خرداد 1385, 19:26 عصر
تو زبانهای خانواده C نه
فکر میکنم Ada یا ؟؟ این قابلیت رو داشت
در هر حال میتونی این کار رو شبیه سازی کنی(با استفاده از Case)

C++Lover
چهارشنبه 14 تیر 1385, 02:33 صبح
بوسیله function pointer ها می توانید آدرس یک تابع را بعنوان آرگومان به تابع دیگری منتقل کرده و سپس آنرا اجرا کنید. که این کار بطور وسیعی در ++C استفاده میشه
مثال :



int pow(int n, int p)
{
int r = 1;
for (int i=0 ; i<p ; i++)
r *= n;
return r;
}

typedef int (*PPow)(int, int);
void output(PPow pPow, int n, int p)
{
cout << pPow(n, p) << endl;
}

int main()
{
output(pow, 2, 3);

getchar();
return 0;
}



در ضمن در ++C شما قادر به dynamic code execution هستید یعنی اینکه کدی را در جای خاصی از حافظه تولید کرده و سپس اجرا کنید.

در صورتی که تمایل داشتید توضیحات بیشتری می دهم.

sh_roohani
چهارشنبه 14 تیر 1385, 09:20 صبح
سلام C++ Lover جان. ممکنه در باره این Dynamic code execution توضیح بدید؟ خیلی مشتاق شدم بدونم.

با تشکر.