Mohssen A Mohssen نشر 21 نوفمبر 2021 أرسل تقرير نشر 21 نوفمبر 2021 قرأت في عدد من الأماكن أن لا يجب أن أستخدم الكود التالي: using namespace std; لكن بالرغم من ذلك، أليس الكود السابق يجعل مهمة التطوير أسهل؟ فبدلًا من إستعمال std::cout أكتب cout فقط. لماذا لا ينصح بإستخدام الكود السابق؟ هل يؤثر على سرعة تنفيذ البرنامج؟ أم يوجد سبب مختلف؟ 1 اقتباس
2 سامح أشرف نشر 21 نوفمبر 2021 أرسل تقرير نشر 21 نوفمبر 2021 السبب ليس تأثير هذه الطريقة في إستخدام المجال std على أداء البرنامج، في الواقع هذا الكود لن يؤثر على أداء البرنامج بل على طريقة تصريفه compiling حيث قد تظهر العديد من الأخطاء في حالة وجود دوال مشابة للموجودة في المجال std، فعلى سبيل المثال إن كان لدينا الكود التالي: using namespace foo; // يحتوي على الدالة xyz using namespace bar; // يحتوي ايضًا على الدالة xyz الكود السابق سوف يؤدي إلى خطأ أثناء عملية التصريف بسبب تعريف الدالة xyz مسبقًا، وبالتالي لا تستفيد من فضاءات الأسماء namespaces حيث أن سبب إستخدامها هو حل هذه المشكلة من الأساس. يمكنك الإطلاع على هذه المقالة لمزيد من المعلومات حول فضاءات الأسماء namespaces: ملاحظة يمكنك أن تستعمل اللكود التالي في حالة أردت إستخدام cout بدون كتابة اسم المجال std: #include <iostream> // إستخدام cout فقط using std::cout; int main() { cout << "hello, wolrd\n"; return 0; } بهذه الطريقة يمكنك إستعمال كل الدوال من المكتبة القياسية iostream وفي نفس الوقت تستطيع إستعمال cout بشكل مباشر. 2 اقتباس
السؤال
Mohssen A Mohssen
قرأت في عدد من الأماكن أن لا يجب أن أستخدم الكود التالي:
لكن بالرغم من ذلك، أليس الكود السابق يجعل مهمة التطوير أسهل؟ فبدلًا من إستعمال std::cout أكتب cout فقط.
لماذا لا ينصح بإستخدام الكود السابق؟ هل يؤثر على سرعة تنفيذ البرنامج؟ أم يوجد سبب مختلف؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.