Menggunakan peta standard dalam C , perbandingan kunci dilakukan menggunakan pembanding lalai kekunci, biasanya leksikografik untuk rentetan. Walau bagaimanapun, terdapat senario di mana anda mungkin perlu menentukan logik perbandingan anda sendiri.
Menyesuaikan Perbandingan Utama:
Untuk mengatasi pembanding lalai, tentukan pembanding tersuai sebagai parameter templat ketiga semasa membina peta. Contohnya, untuk membandingkan kekunci berdasarkan panjang rentetannya:
<code class="cpp">struct LengthComparator { bool operator()(const std::string& lhs, const std::string& rhs) const { return lhs.length() < rhs.length(); } }; std::map<std::string, std::string, LengthComparator> lengthMap;</code>
Cara Alternatif Isih Peta:
Jika anda memilih untuk tidak mentakrifkan pembanding tersuai, anda boleh menggunakan kaedah lain untuk mengisih peta:
Nota: Apabila membandingkan kunci mengikut panjang, ambil perhatian bahawa hanya satu contoh bagi setiap panjang boleh wujud sebagai kunci dalam peta.
Atas ialah kandungan terperinci Bagaimana untuk Mengatasi Pembanding Utama dalam Peta C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!