ماذا تعني النقطتان المزدوجتان "::" في C++؟
مرحباً بالجميع! لقد بدأت مؤخراً في تعلم C++ وواجهت بناءً لا أستطيع فهمه. في الكود، كثيراً ما تظهر النقطتان المزدوجتان "::"، لكنني لست متأكداً مما تفعله.\n\nعلى سبيل المثال، رأيت هذا الكود:\n\n```cpp\n#include \n\nint main() {\n std::cout << "Hello" << std::endl;\n ::system("pause");\n return 0;\n}\n```\n\nهنا `std::cout` و `::system` — أفهم أن `std` هي مساحة اسم (namespace)، لكن لماذا توجد `::` منفردة قبل `system`؟ أو مثال آخر، عندما أكتب كلاس خاص بي:\n\n```cpp\nclass MyClass {\npublic:\n void print();\n};\n\nvoid MyClass::print() {\n std::cout << "Hello from MyClass" << std::endl;\n}\n```\n\nلماذا عند تعريف الميثود خارج الكلاس يجب كتابة `MyClass::print`؟ جربت إزالة `::` فاعترض المترجم (compiler). كما رأيت في كود شخص آخر