![]() |
|
مالفرق بين const parameter و value parameter - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : مالفرق بين const parameter و value parameter (/showthread.php?tid=5794) |
مالفرق بين const parameter و value parameter - Amer12 - 15-12-2013 في مراجع دلفي ذكر ان const parameter يتصرف نفس value parameter ، بماذا يتشابها وبماذا يختلفان ولماذا ينصح استخدام const مع السلاسل الحرفية ؟ في حالة اذا كانت القيمة التي تم تمريرها إلى الاجراء قيمة عددية هل يتم نسخها إلى stack كما يحصل عند التمرير بالقيمة pass by value ؟ مالفرق بين const parameter و value parameter - SMP3 - 15-12-2013 حتى تفهم الفكرة جيدا يجب ان تعرف طريقة التمرير ب ال var .. عندما تمرر متغير ك var فانت في الحقيقة تمرره كمؤشر .. لذلك عند تغييره داخل اجراء خارجي .. ستتغير قيمته . اما عند التمرير ك const فالكومبايلر سيقوم بعمل نسخة من المتغير في ال stack فقط اذا كان طول نوع المتغير اكبر من 4 بت او 8 بت للنظامين 32 بت و 64 بت على التوالي .. هناك عامل اخر وهو calling convention : في حالة stdcall سيتم تجاهل طول النوع variable type ويتم دفع المتغير مباشرة في ال stack . عند التعامل مع السلاسل النصية ينصح العديد من المبرمجين بتمريرها ك const وارجاع القيمة ك return تفاديا لمشاكل الوصول للذاكرة عند استخدام التمرير ك var ،فمؤشر المتغير يمكن ان يؤشر على مكان في الذاكرة قد تم تحريره مسبقا بتدخل من المبرمج او من الكومبايلر . ان لم تكن على دراية بطريقة تنظيم الذاكرة .. فسيكون التمرير ك const خيار جيدا . اما ان كان المبرمج على دراية بذلك .. فيستطيع التمرير بالاسلوب الذي يناسبه . + تمرير سلسلة نصية ك var من ال heap افضل و أأمن بكثير . مالفرق بين const parameter و value parameter - S.FATEH - 15-12-2013 السلام عليكم يمكن الرد يساعدك ان شاء الله التمرير بالـ var ما هو الا تمرير مؤشر دلفي حريص على اخفاء تعاملك بالمؤشرات مالفرق بين const parameter و value parameter - Amer12 - 16-12-2013 أخ smp3 هل من الممكن ارفاق مثال بسيط يوضح ما شرحته مالفرق بين const parameter و value parameter - SMP3 - 17-12-2013 amer12 كتب :أخ smp3 هل من الممكن ارفاق مثال بسيط يوضح ما شرحته أعتذر أخي .. لا يمكنني ان ارفق مثال حاليا .. انا اتصفح المنتدى من الجوال .. ممكن فيما بعد .. |