Operator Perbandingan Tiga Hala dalam C
Semasa mempelajari operator C, anda mungkin telah menemui "<=>" yang membingungkan pengendali. Apakah yang diwakili oleh simbol misteri ini?
Memahami Operator Perbandingan Tiga Hala
"<=>" pengendali, dikenali sebagai pengendali perbandingan tiga hala, membolehkan perbandingan yang lebih bernuansa berbanding dengan pengendali perhubungan tradisional. Menurut cadangan P0515:
Pada asasnya, operator ini membolehkan perbandingan untuk menentukan sama ada satu nilai kurang daripada, lebih besar daripada atau sama dengan yang lain.
Pelaksanaan
Untuk melaksanakan pengendali ini bagi jenis tersuai anda, anda perlu menentukan "pengendali<=>" berfungsi dan kembalikan kategori yang sesuai seperti berikut:
Kategori pesanan: Jika jenis anda menyokong perbandingan menggunakan "<" pengendali, anda boleh mengembalikan kategori pesanan untuk menjana operator berikut dengan cekap: "<", ">", "<=", ">=", "==" dan " !=".
Kategori kesaksamaan: Jika jenis anda hanya menyokong perbandingan kesaksamaan, anda boleh mengembalikan Kategori kesamaan untuk menjana pengendali "==" dan "!=" dengan cekap.
Selain itu, anda boleh menentukan kekuatan operasi ini. Jika "a == b" membayangkan "f(a) == f(b)" untuk semua "f" yang hanya mengakses keadaan perbandingan-penting yang boleh diakses secara umum, operasinya adalah kuat. Jika tidak, ia lemah.
Atas ialah kandungan terperinci Apakah yang dilakukan oleh Operator Perbandingan Tiga Hala C ``?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!