Rumah > pembangunan bahagian belakang > C++ > Apakah Ahli Dijana Pengkompil yang Ada pada Kelas C?

Apakah Ahli Dijana Pengkompil yang Ada pada Kelas C?

Barbara Streisand
Lepaskan: 2024-12-11 09:42:10
asal
584 orang telah melayarinya

What Compiler-Generated Members Does a C   Class Have?

Ahli Dijana Pengkompil bagi Kelas

Apabila mencipta kelas, pengkompil secara tersirat menjana fungsi ahli tertentu jika syarat tertentu dipenuhi. Walaupun fungsi ini tidak diisytiharkan secara eksplisit dalam definisi kelas, ia memainkan peranan penting dalam kefungsiannya.

Pembina Lalai

Pembina lalai dibuat secara automatik jika tiada yang ditakrifkan secara eksplisit dalam kelas. Ia adalah pembina tanpa hujah yang memulakan ahli dengan nilai lalai. Tujuan utamanya adalah untuk memudahkan penciptaan objek tanpa menyatakan nilai awal.

Pembina Salin

Pembina salinan menyalin nilai semua ahli data daripada objek sedia ada yang sama kelas kepada objek yang baru dibuat. Ia membolehkan menghantar objek mengikut nilai, membuat salinan dalam objek.

Operator Tugasan Salin

Operator penugasan salinan memberikan nilai semua ahli data daripada yang sedia ada objek kepada objek sedia ada. Ia membenarkan mengubah suai nilai objek sedia ada dengan menyalinnya daripada objek lain dalam kelas yang sama.

Pemusnah

Pemusnah bertanggungjawab untuk menukar lokasi memori dan melakukan sebarang tindakan pembersihan yang diperlukan apabila sesuatu objek dimusnahkan. Ia dijana secara automatik untuk membebaskan sumber yang diperuntukkan semasa pembinaan objek.

Fungsi Ahli Hanya Dijana Apabila Diperlukan

Dalam C 98/03, pengkompil hanya menjana fungsi ini jika ia diperlukan. Dalam C 11 dan kemudian, peraturan tambahan dikenakan:

  • Move Constructor: Dihasilkan jika tiada operasi salinan yang ditentukan pengguna, operasi alih atau pemusnah dan semua ahli boleh dialihkan.
  • Operator Tugasan Alih: Serupa dengan pembina bergerak, tetapi untuk tugasan.

Mengapa Pembina Lalai Diperlukan

Pembina lalai mempunyai beberapa tujuan:

  • Memudahkan penciptaan objek tanpa hujah.
  • Memastikan objek boleh dimulakan tanpa menyatakan nilai.
  • Membolehkan menghantar objek mengikut nilai tanpa menyatakan hujah.
  • Menyediakan keadaan lalai untuk objek apabila pemulaan eksplisit tidak diingini.

Atas ialah kandungan terperinci Apakah Ahli Dijana Pengkompil yang Ada pada Kelas 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