Rumah >pembangunan bahagian belakang >C++ >Bilakah Pengkompil C Menjana Pembina Pergerakan dan Operator Tugasan Secara Automatik?
Penjanaan Automatik Operasi Alih dalam C
Dalam C 98, pengkompil secara automatik boleh menjana pembina salinan dan menyalin pengendali tugasan untuk kelas. Walau bagaimanapun, dengan pengenalan semantik bergerak dalam C 11, persoalan timbul tentang penjanaan automatik operasi pergerakan.
Adakah Move Constructors dan Move Assignment Operator Menjana Secara Automatik?
Tidak, tidak seperti pembina salin dan pengendali tugasan salin, pengkompil tidak menjana operasi alih secara automatik untuk kelas dengan takrif pengguna. pembina atau pengendali tugasan.
Kes Di mana Operasi Pindah Tidak Dijana Secara Automatik
Operasi Pindah tidak dijana secara automatik jika:
Menentukan Automatik Penjanaan Operasi Alih
Untuk menentukan sama ada operasi alih dijana secara automatik untuk kelas, pertimbangkan perkara berikut:
Pemberhentian Penjanaan Automatik Operasi Pergerakan
Dalam C 20, penjanaan automatik operasi pemindahan ditamatkan jika kelas mengisytiharkan pemusnah atau mana-mana ahli salinan (pembina salinan, operator tugasan salinan). Untuk memastikan keserasian dengan versi C masa hadapan, adalah disyorkan untuk mengisytiharkan operasi pemindahan secara eksplisit untuk kelas yang memerlukannya.
Atas ialah kandungan terperinci Bilakah Pengkompil C Menjana Pembina Pergerakan dan Operator Tugasan Secara Automatik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!