Rumah >pembangunan bahagian belakang >C++ >Apakah Perbezaan Antara '=default' dan '{}' untuk Pembina dan Pemusnah Lalai?
Membezakan ""=default"" daripada "{}" untuk Pembina dan Pemusnah Lalai
Manakala "=default" dan "{} " nampaknya boleh ditukar ganti untuk pemusnah maya, ia menunjukkan perbezaan yang ketara apabila digunakan untuk pembina lalai dan bukan maya pemusnah.
Pembina Lalai
Untuk pembina lalai, "=default" secara eksplisit mengarahkan pengkompil untuk menjana pembina lalai. Sebaliknya, "{}" menghasilkan pembina lalai yang disediakan pengguna, mengubah perkara remeh kelas. Kelas remeh membenarkan operasi memori yang cekap, tetapi fungsi yang disediakan pengguna, termasuk pembina lalai "{}" kosong, alih keluar klasifikasi ini.
Pemusnah
Dalam kes ini daripada pemusnah maya, "=default" dan "{}" mempunyai perbezaan yang minimum. Walau bagaimanapun, untuk pemusnah bukan maya, "=default" menandakan pemusnah yang dijana pengkompil, manakala "{}" menunjukkan pemusnah yang disediakan pengguna. Perbezaan ini kekal penting dalam menentukan perkara remeh kelas, kerana pemusnah yang disediakan pengguna menghalang pengelasan remeh.
Oleh itu, apabila memilih antara "=default" dan "{}", pertimbangkan sama ada kelas itu harus dianggap remeh atau tidak . "=default" mengekalkan perkara remeh dengan mendelegasikan penjanaan fungsi kepada pengkompil, manakala "{}" mencipta fungsi yang disediakan pengguna, memberi kesan kepada status remeh kelas.
Atas ialah kandungan terperinci Apakah Perbezaan Antara '=default' dan '{}' untuk Pembina dan Pemusnah Lalai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!