تالار گفتمان مانشت

نسخه‌ی کامل: Call by result - مهندسی کامپیوتر 83
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
در کدام یک از روشهای انتقال پارامتر، به ازای هر پارامتر از نوع متغیر ساده بیش از یک فیلد در رکورد فعالیت برنامه فرعی در نظر گرفته شود؟
1) call by result
2) by value
3) by reference
4) هیچگاه نیاز به بیش از یک فیلد نیست.

جواب گزینه 1 اعلام شده.
چرا؟ مگه نه اینکه call by result اصلاً پارامترهای واقعی رو نمیبره با خودش و اصلاً بهش توجه نمیکنه؟
خب اینکه مصرف حافظه ش از همه کمتره!

شاید منظورش call by value result بوده! ممکنه؟!
در call by result ب مقدار متغیر واقعی کاری نداره و ازش استفاده نمیکنه ولی درنهایت باید مقدار پارامتر مجازیو در پارامتر واقعی کپی کنه پس آدرس اونو باید نگهداری کنه یجا
(02 دى 1393 10:50 ب.ظ)mahnaz.p نوشته شده توسط: [ -> ]در call by result ب مقدار متغیر واقعی کاری نداره و ازش استفاده نمیکنه ولی درنهایت باید مقدار پارامتر مجازیو در پارامتر واقعی کپی کنه پس آدرس اونو باید نگهداری کنه یجا
اینجوری مثل by reference نمیشه عملکردش؟ اونم آدرس رو نگه میداره پس به یه اندازه فضا نمیگیرن؟

فکر کنم من سوال رو درست متوجه نمیشم، ممکنه صورت سوال رو توضیح بدید؟
(02 دى 1393 11:23 ب.ظ)Ametrine نوشته شده توسط: [ -> ]
(02 دى 1393 10:50 ب.ظ)mahnaz.p نوشته شده توسط: [ -> ]در call by result ب مقدار متغیر واقعی کاری نداره و ازش استفاده نمیکنه ولی درنهایت باید مقدار پارامتر مجازیو در پارامتر واقعی کپی کنه پس آدرس اونو باید نگهداری کنه یجا
اینجوری مثل by reference نمیشه عملکردش؟ اونم آدرس رو نگه میداره پس به یه اندازه فضا نمیگیرن؟

فکر کنم من سوال رو درست متوجه نمیشم، ممکنه صورت سوال رو توضیح بدید؟
نه مثل بای رفرنس نمیشه چون اونجا مقدار پارامتر واقعی با تغییر پارامتر مجازی تغییر میکنهدر واقع پارامتر مجازی در همون آدرس پارامتر واقعی هست.ولی در اینجا پارامتر واقعی اصن یه جای دیگ درون حافظه هست ب مقدار پارامتر واقعی هم اصلن کاری نداریم در دسترس ماهم نیس.موقع اجرا یه متغیر جدید خود سیستم میسازه ک ادرس پارامتر واقعی ک براش فرستادیمو نگه میداریم از دید ما خارجه تو برنامه نویسی ازش استفاده نکردیم
لینک مرجع