Call by valve & call by reference
فكرة الاستدعاء بالمرجع والاستدعاء بالقيمة تتعلق بطريقة تمرير المتغيرات إلى الدوال في لغة سي بلس بلس. عند الاستدعاء بالمرجع، يتم تمرير المتغير عن طريق الإشارة إلى عنوانه في الذاكرة، وهذا يعني أن أي تغيير يتم إجراؤه على المتغير داخل الدالة سيؤثر على قيمته في البرنامج الأصلي. أما عند الاستدعاء بالقيمة، فيتم نسخ قيمة المتغير إلى مكان جديد في الذاكرة ويتم تمرير هذه القيمة إلى الدالة. وبالتالي، أي تغيير يتم إجراؤه على المتغير داخل الدالة لن يؤثر على قيمته في البرنامج الأصلي. لتحديد طريقة التمرير المناسبة، يجب اختيار الخيار الذي يتوافق مع متطلبات البرنامج والوظائف التي يقوم بها المتغيرات داخل الدالة.