ماذا تعني النقطتان المزدوجتان "::" في لغة 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). كما رأيت في كود شخص آخر