Разница между == и === в 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++ такого оператора, видимо, нет. Может быть, это какой-то макрос или расширение? Или я что-то путаю?
Подскажите, существует ли вообще === в стандартном C++? Если нет, то как правильно сравнивать значения с учётом типов? Заранее спасибо!