Alihkan Operator Tugasan dan ini != &rhs
Dalam pengendali tugasan standard untuk kelas, adalah amalan biasa untuk memasukkan ini != &rhs semak untuk mengelak mengubah suai objek pemanggilan apabila menetapkan kepada dirinya sendiri. Walau bagaimanapun, adakah semakan ini perlu dalam pengendali tugasan pindah?
Jawapan:
Pendapat berbeza-beza sama ada semakan ini != &rhs diperlukan dalam operator tugasan pindah. Ada yang berpendapat bahawa amalan yang baik untuk sentiasa memasukkannya, manakala yang lain percaya ia tidak perlu dan berpotensi memudaratkan.
Rasional:
Kesimpulan:
Akhirnya, sama ada untuk memasukkan atau tidak the this != &rhs check in the move assignment operator is a matter of personal preference and context. Ia tidak diperlukan oleh standard C, tetapi sesetengah pembangun boleh memilih untuk memasukkannya untuk keselamatan tambahan atau untuk mengelakkan penugasan diri yang tidak disengajakan.
Atas ialah kandungan terperinci Adakah Semakan `ini != &rhs` Diperlukan dalam Operator Tugasan Alih?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!