Mohssen A Mohssen نشر 22 نوفمبر 2021 أرسل تقرير نشر 22 نوفمبر 2021 لماذا يستعمل بعض المبرمجين النوع void كمعامل في الدوال التي لا تقبل أي مدخلات، مثل هذا الكود: int func(void); أليس من الأسهل أن أقوم بكتابة تعريف الدالة كالتالي: int func(); ما الفرق بين الطريقتين؟ وهل يؤثر هذا الأمر على أداء البرنامج؟ 1 اقتباس
2 سامح أشرف نشر 22 نوفمبر 2021 أرسل تقرير نشر 22 نوفمبر 2021 هذه العادة البرمجية جاءت من لغة C ، حيث أنه في لغة C الدالة التي لديها قوسين فارغين كالدالة التالية: int func(); تقبل أي عدد من المدخلات من أي نوع، حيث لا يقوم المصرف بالتحقق في هذه الحالة من عدد المدخلات إلى الدالة، ولجعل الدالة لا تقبل أي مدخلات على الإطلاق يجب أن تكتب النوع void كمعامل لهذه الدالة، ويؤدي إستخدام الدالة بأقواس فارغة إلى سلوك غير معروف undefined behavior, لذلك يجب أن يتم تمرير معامل واحد على الأقل، وفي الوقت الحالي يفضل أن يتم إستخدام طريقة ... لعمل دالة تقبل أي عدد من المدخلات: int func(int args, ...); أما في لغة ++C فإن الأقواس الفارغة ( ) تعني أن الدالة لا تقبل أي مدخلات، ومع ذلك فإن void كمعامل للدالة في لغة ++C يُعد صحيحًا أيضًا. وبناءً على ما سبق فلا يوجد فرق في للأداء بين الطريقتين. 2 اقتباس
السؤال
Mohssen A Mohssen
لماذا يستعمل بعض المبرمجين النوع void كمعامل في الدوال التي لا تقبل أي مدخلات، مثل هذا الكود:
أليس من الأسهل أن أقوم بكتابة تعريف الدالة كالتالي:
ما الفرق بين الطريقتين؟ وهل يؤثر هذا الأمر على أداء البرنامج؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.