Rumah > pembangunan bahagian belakang > C++ > Apakah Fungsi Ahli yang Dihasilkan secara Automatik oleh Pengkompil C?

Apakah Fungsi Ahli yang Dihasilkan secara Automatik oleh Pengkompil C?

Barbara Streisand
Lepaskan: 2024-12-25 09:04:09
asal
970 orang telah melayarinya

What Member Functions Does the C   Compiler Automatically Generate?

Fungsi Ahli Dijana Auto oleh Pengkompil dalam C

Soalan:

Dalam C , apakah fungsi ahli yang pengkompil mencipta secara automatik untuk kelas? Adakah ini berlaku secara konsisten untuk semua kelas?

Jawapan:

Pengkompil boleh menjana fungsi ahli berikut untuk kelas, bergantung pada keperluan:

C 98/03:

  • Pembina Lalai: Dicipta jika tiada pembina yang ditentukan pengguna wujud.
  • Pembina Salin: Dicipta jika tiada pembina salinan yang ditentukan pengguna wujud.
  • Operator Tugasan Salin: Dibuat jika tiada operator tugasan salinan yang ditetapkan pengguna wujud.
  • Pemusnah: Dicipta jika tiada pemusnah yang ditentukan pengguna. wujud.

Fungsi ini dijana apabila diperlukan dan hanya jika tidak diisytiharkan secara eksplisit oleh pengaturcara.

C 11:

Sebagai tambahan kepada fungsi C 98/03, C 11 memperkenalkan:

  • Move Constructor: Dihasilkan jika tiada pembina yang ditentukan pengguna, tugasan operator, atau pemusnah, fungsi tidak ditandakan untuk pemadaman dan semua ahli serta pangkalan boleh dialihkan.
  • Operator Tugasan Alih: Begitu juga, dijana dalam keadaan yang sama seperti pembina bergerak.

Lalai Pembina:

Pembina lalai ialah pembina yang dijana secara tersirat yang tidak memerlukan hujah. Ia memulakan semua pembolehubah ahli kepada nilai lalai atau sifar. Pembina lalai adalah penting untuk mencipta objek kelas tanpa menyatakan argumen secara manual.

Atas ialah kandungan terperinci Apakah Fungsi Ahli yang Dihasilkan secara Automatik oleh Pengkompil 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