Avatar ·

لماذا لا يجب كتابة `using namespace std;` في C++ وما هي البدائل؟

مرحبًا! بدأت تعلم لغة C++ وفي جميع الدروس وأمثلة الكود أرى باستمرار السطر `using namespace std;`. اعتدت دائمًا على كتابته في بداية البرنامج، لأنه بدونه يجب إضافة `std::` في كل مكان، وهو ما يبدو غير مريح. على سبيل المثال: ```cpp #include #include #include using namespace std; int main() { vector numbers = {5, 2, 8, 1, 9}; sort(numbers.begin(), numbers.end()); cout << "مُرتّب: "; for (int n : numbers) { cout << n << " "; } cout << endl; return 0; } ``` لكنني قرأت مؤخرًا أن المبرمجين ذوي الخبرة ينصحون بعدم استخدام `using namespace std;` أبدًا في المشاريع الحقيقية. يُزعم أن هذا قد يؤدي إلى أخطاء يصعب اكتشافها. جربت كتابة الكود بدون هذا التوجيه، فأصبح ضخمًا: ```cpp std::vector numbers = {5, 2, 8, 1, 9}; std::sort(numbers.begin(), numbers.end()); std::cout << "مُرتّب: "; ``` أشعر أن قابلية قراءة الكود تدهورت.