Untuk menyokong jenis kunci yang ditentukan pengguna dalam std:: unordered_set
Walaupun lebih mudah untuk menulis hanya std::unordered_set
Menurut Draf Standard C N3242 §20.8.12 [unord.hash] dan §17.6.3.4 [hash.requirements], dan selepas berunding dengan pelbagai sumber, pengkhususan std::hash
namespace std { template <> struct hash<Foo> { size_t operator()(const Foo & x) const { /* your code here, e.g. "return hash<int>()(x.value);" */ } }; }
Ini membolehkan anda menambah pengkhususan pada ruang nama std dan merupakan cara yang disyorkan untuk melanjutkan kefungsian jenis standard untuk jenis yang ditentukan pengguna.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengkhususkan `std::hash::operator()` untuk Jenis Tersuai dalam Bekas Tidak Teratur C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!