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