Согласно cppreference, std::type_info::operator!= удаляется с C ++ 20, однако, std::type_info::operator== видимо остается.
В чем причина? Я мог бы согласиться с тем, что сравнение на предмет неравенства бессмысленно, но тогда сравнение на равенство также было бы бессмысленным, не так ли?
Аналогичным образом operator!= из многих других типов стандартных библиотек, включая контейнеры, такие как std::unordered_map::operator!= и std::unordered_set::operator!= будут удалены в C ++ 20 согласно cppreference.
Необходимость писать if(!(id1 == id2)) не делает никакой код более ясным по сравнению с if(id1 != id2), напротив, как раз наоборот ...