Avatar ·

ماذا تعني النقطتان المزدوجتان "::" في لغة C++؟

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