Avatar ·

الفرق بين == و === في C++

مرحبًا بالجميع! من فضلكم، أخبروني ما الفرق بين العاملين == و === في لغة C++؟ أنا بدأت للتو في تعلم اللغة، ورأيت في بعض الدروس التعليمية ذكرًا للمساواة الثلاثية، لكن لا يوجد شرح واضح في أي مكان.

لقد جربت الكود التالي:

#include <iostream>

int main() {
    int a = 5;
    int b = 5;
    
    if (a == b) {
        std::cout << "a == b" << std::endl;
    }
    
    // حاولت استخدام ===
    // if (a === b) { ... }  // هذا لا يتم ترجمته
    
    return 0;
}

عند محاولة استخدام ===، يُصدر المترجم خطأ: 'expected expression' أو 'token is not a valid binary operator' اعتمادًا على إصدار المترجم.

أتوقع أن === قد يكون نوعًا من المقارنة الصارمة (كما في JavaScript أو PHP)، لكن في C++ لا يوجد مثل هذا العامل على ما يبدو. ربما يكون ماكروًا أو امتدادًا؟ أم أنني أخلط الأمور؟

أرجو التوضيح، شكرًا