Avatar ·

Diferença entre == e === em C++

Olá a todos! Por favor, me expliquem qual é a diferença entre os operadores == e === em C++? Estou começando a aprender a linguagem e vi menção ao triple equals em alguns tutoriais, mas não há uma explicação clara em lugar nenhum.

Tentei o seguinte código:

#include <iostream>

int main() {
    int a = 5;
    int b = 5;
    
    if (a == b) {
        std::cout << "a == b" << std::endl;
    }
    
    // Tentei usar ===
    // if (a === b) { ... }  // Isso não compila
    
    return 0;
}

Ao tentar usar ===, o compilador retorna um erro: 'expected expression' ou 'token is not a valid binary operator' dependendo da versão do compilador.

Espero que === possa ser algum tipo de comparação estrita (como em JavaScript ou PHP), mas em C++ esse operador aparentemente não existe. Talvez seja algum macro ou extensão? Ou estou confundindo algo?

Por favor, me digam se existe