Menurut cppreference , std::type_info::operator!=
dihapus dengan C ++ 20, bagaimanapun, std::type_info::operator==
tampaknya tetap.
Apa alasan di baliknya? Saya mungkin setuju untuk membandingkan ketidaksetaraan menjadi tidak berarti, tetapi kemudian membandingkan kesetaraan akan sama tidak berartinya, bukan?
Demikian pula, operator!=
dari banyak jenis perpustakaan standar lainnya, termasuk wadah seperti std::unordered_map::operator!=
dan std::unordered_set::operator!=
akan dihapus dalam C ++ 20 sesuai dengan preferensipengaturan.
Harus menulis if(!(id1 == id2))
tidak membuat kode lebih jelas dibandingkan dengan if(id1 != id2)
, sebaliknya, justru sebaliknya ...
Kami tidak membutuhkan perpustakaan yang disediakan
operator!=
lagi. Memberikanoperator==
memungkinkan kompiler untuk melakukan beberapa juggling dan mengevaluasia != b
dalam hala == b
, semua dengan sendirinya.std::type_info
dan masih banyak lagi tipe perpustakaan yangoperator!=
dihapus sebagai bagian dari P1614 - The Mothership telah Landed .sumber