Lebih Muatan Operator: Fungsi Ahli lwn. Fungsi Bukan Ahli
Apabila melebihkan pengendali, pembangun boleh memilih untuk melaksanakannya sebagai ahli atau fungsi bukan ahli. Walaupun fungsi ahli menawarkan kesederhanaan untuk operan pertama sebagai objek kelas, ia menghadapi pengehadan apabila operan pertama bukan kelas.
Asimetri pengendali kelebihan beban fungsi ahli, dengan parameter pertama ialah penunjuk ini tersirat , menimbulkan masalah apabila operan pertama bukan daripada jenis kelas yang sama. Sebagai contoh, ungkapan 10.0 s2 tidak boleh dinilai menggunakan lebihan fungsi ahli.
Lebih muatan fungsi bukan ahli, walau bagaimanapun, membenarkan perbandingan simetri, kerana ia menerima kedua-dua operan sebagai argumen. Fleksibiliti ini menyelesaikan isu asimetri dan membolehkan operasi dengan jenis yang berbeza. Fungsi bukan ahli juga menggalakkan pengkapsulan yang lebih baik, kerana ia tidak mempunyai akses kepada ahli persendirian melainkan diisytiharkan secara jelas sebagai rakan.
Dalam algoritma STL, lebihan simetri lebih disukai kerana fleksibiliti dan kemudahan perbandingannya. Lazimnya disyorkan untuk menjadikan fungsi bukan ahli sebagai rakan hanya jika ahli persendirian perlu diakses.
Atas ialah kandungan terperinci Fungsi Ahli lwn. Fungsi Bukan Ahli untuk Lebih Muatan Operator: Mana Yang Lebih Baik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!