Isih Jenis Ditakrifkan Pengguna dalam Vektor mengikut Pembolehubah Tertentu
Untuk mengisih vektor jenis yang ditentukan pengguna mengikut pembolehubah tertentu , anda mempunyai dua pilihan: menggunakan isihan perpustakaan standard atau melaksanakan fungsi isihan anda sendiri.
Menggunakan Isihan Perpustakaan Standard
Isihan perpustakaan standard boleh digunakan jika anda jenis yang ditentukan pengguna melaksanakan "operator bool < (Const Type& other) const" dan pembina salinan. Operator perbandingan harus menentukan cara yang bermakna untuk membandingkan jenis. Berikut ialah contoh:
struct MyType { int a; int b; bool operator<(const MyType& other) const { // Compare types based on a specific variable (e.g., a) return a < other.a; } };
Menggunakan Fungsi Isih Tersuai
Sebagai alternatif, anda boleh menyediakan fungsi susunan tersuai atau functor sebagai argumen ketiga untuk mengisih() sebaliknya melaksanakan pengendali perbandingan. Fungsi ini harus membandingkan jenis berdasarkan pembolehubah yang dikehendaki. Contohnya:
bool type_is_less(const MyType& t1, const MyType& t2) { return t1.a < t2.a; } std::sort(moo.begin(), moo.end(), type_is_less);
Pendekatan ini berguna apabila:
Atas ialah kandungan terperinci Bagaimana untuk Menyusun Vektor Jenis Ditentukan Pengguna mengikut Pembolehubah Khusus?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!