Zgodnie z cppreference , std::type_info::operator!=zostaje usunięty z C ++ 20, jednak std::type_info::operator==najwyraźniej pozostaje.
Jakie jest uzasadnienie? Mógłbym się zgodzić na to, że porównywanie nierówności byłoby pozbawione sensu, ale wtedy porównywanie dla równości byłoby równie samo pozbawione znaczenia, prawda?
Podobnie, operator!=wiele innych standardowych typów bibliotek, w tym kontenery takie jak std::unordered_map::operator!=i std::unordered_set::operator!=zostaną usunięte w C ++ 20 zgodnie z cppreference.
Konieczność pisania if(!(id1 == id2))nie czyni żadnego kodu jaśniejszym w porównaniu do if(id1 != id2), wręcz przeciwnie ...