PDA

View Full Version : سوال: metal programing



hafez1
سه شنبه 04 مهر 1391, 16:35 عصر
می خاسم بدونمmetal programing چی هست؟

amin1softco
سه شنبه 04 مهر 1391, 17:03 عصر
نمی دونم به این بخش مربوط می شه یا نه ولی ببین وقتی شما برنامه ات بتونه بر اساس شرایطی که تعریف کردی یک برنامه دیگه درست کنه بهش میگند meta programming و بیشتر برای زبان های اسکریپتی است که کامپایل نمی شوند مثل جاوا اسکریپت یا php یا Csharp یا همین فایل های .bat کاربرد داره . البته در سی++ می شه برنامه را نوشت از طریق کامند برای کامپایلری تحت داس فرستاد ولی همچین معقول به نظر نمی رسه.
خلاصه شده MetaL= Meta programming Language عبارت است.

http://en.wikipedia.org/wiki/Meta-programming

hafez1
سه شنبه 04 مهر 1391, 17:15 عصر
یه منبع فارسی معرفی کنید

amin1softco
سه شنبه 04 مهر 1391, 17:57 عصر
فارسی !!! چیزی ندیدم ولی انگلیسی
http://www.amazon.com/Advanced-Metaprogramming-Davide-Di-Gennaro/product-reviews/1460966163

البته این بیشتر با تمپلیت ها کار کرده با چیزی که در پست قبل گفتم متفاوته گویا...

hafez1
چهارشنبه 05 مهر 1391, 10:56 صبح
البته این بیشتر با تمپلیت ها کار کرده با چیزی که در پست قبل گفتم متفاوته گویا...بله درسته استاد هم سر کلاس از تمپلیت حرف می زد.اگه چیزی درباره تمپلیتها می دونید لطفا توضیح بدید.

amin1softco
چهارشنبه 05 مهر 1391, 13:09 عصر
یک کتاب کامل در این مورد :
http://aszt.inf.elte.hu/~gsd/halado_cpp/ch06s04.html (http://aszt.inf.elte.hu/%7Egsd/halado_cpp/ch06s04.html)

این بحث را مطالعه کنید :
http://stackoverflow.com/questions/112277/best-introduction-to-c-template-metaprogramming

چیزی که من یادمه از تمپلیت ها این بود که چون در سی++ سربارگذاری علامت ها در انوع مختلف مثل string or int or float or anything می تونه توسط شخص انجام بشه ما بجای اینکه بیاییم مشخص کنیم که فلان نوع را با هم جمع کن با تملیت می نویسیم که هر نوعی صدا زده شد اون عمل جمع روش انجام بشه یا هر عمله دیگه ایی.
مثال :
template <class myType> myType GetMax (myType a, myType b) { return (a>b?a:b); }

و اینجوری صداش می زنیم :

int x,y; GetMax <int> (x,y);