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 ...