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