Rumah > pembangunan bahagian belakang > C++ > Bilakah Pengkompil Menjana Fungsi Ahli Khas dalam C?

Bilakah Pengkompil Menjana Fungsi Ahli Khas dalam C?

Linda Hamilton
Lepaskan: 2024-12-26 00:36:09
asal
365 orang telah melayarinya

When Does the Compiler Generate Special Member Functions in C  ?

Fungsi Ahli Khas Dijana oleh Pengkompil

Apabila meneliti tingkah laku kelas, adalah penting untuk memahami peranan fungsi ahli khas, yang juga dikenali sebagai fungsi yang dihasilkan oleh pengkompil. Fungsi ini memainkan peranan penting dalam pengendalian kelas, tetapi penciptaannya tidak selalu dijamin.

Pembina Lalai

Pengkompil menjana pembina lalai di bawah keadaan berikut :

  • Jika pengguna tidak mengisytiharkan mana-mana pembina untuk kelas.

Pembina Salin dan Operator Tugasan

Pengkompil menjana pembina salinan dan operator tugasan salinan apabila:

  • pengguna tidak mengisytiharkan mereka.

Pemusnah

Pengkompil menjana pemusnah apabila:

  • Pengguna tidak mengisytiharkannya.

Peraturan Tambahan dalam C 11

Versi C 11 dan lebih baru memperkenalkan peraturan tambahan:

  • Move Constructor: Dihasilkan jika tiada pembina salinan yang diisytiharkan pengguna, operator tugasan salinan , atau alihkan pengendali tugasan, pemusnah tidak dipadamkan dan semua ahli dan pangkalan akan boleh alih.
  • Operator Tugasan Pindah: Dijana dalam keadaan yang sama seperti pembina bergerak.

Nota: Semua fungsi ini hanya dijana jika perlu. Jika ia tidak digunakan, ketiadaannya boleh diterima.

Kepentingan Pembina Lalai

Pembina lalai memainkan peranan penting dalam mendayakan mekanisme pewarisan dalam C . Apabila subkelas mewarisi daripada kelas asas yang tidak mempunyai pembina yang ditentukan pengguna, pembina lalai kelas asas digunakan untuk memulakan bahagian asas objek kelas terbitan. Tanpa pembina lalai, proses pewarisan tidak boleh berlaku dengan betul.

Atas ialah kandungan terperinci Bilakah Pengkompil Menjana Fungsi Ahli Khas dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan