Fungsi Tukar untuk Algoritma STL
Untuk mendayakan fungsi swap untuk kelas anda dalam algoritma STL, anda mempunyai beberapa pilihan:
Pertukaran Ahli
Tulis ahli fungsi swap dalam kelas anda:
class MyClass { public: void swap(MyClass& other) { // Swap implementation } };
Free Standing Swap
Tentukan fungsi swap berdiri bebas dalam ruang nama yang sama dengan kelas anda:
namespace MyNamespace { class MyClass {}; void swap(MyClass& lhs, MyClass& rhs) { // Swap implementation } }
Pengkhususan Separa daripada std::swap
Pendekatan ini memerlukan pengkhususan eksplisit dalam ruang nama std, tetapi biasanya tidak disyorkan:
namespace std { template<> void swap<MyClass>(MyClass& lhs, MyClass& rhs) { // Swap implementation } }
Cara yang betul untuk mendayakan fungsi swap anda adalah melalui ahli bertukar-tukar. Ini membenarkan carian bergantung kepada hujah (ADL), yang akan mencari fungsi swap yang betul secara automatik berdasarkan jenis argumen.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendayakan Fungsi Swap untuk Kelas Saya dalam Algoritma STL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!