Rumah >pembangunan bahagian belakang >C++ >Delegasi Pembina C: Mengapa Memulakan dalam Senarai Pemula Ahli?

Delegasi Pembina C: Mengapa Memulakan dalam Senarai Pemula Ahli?

Susan Sarandon
Susan Sarandonasal
2024-11-25 11:05:17642semak imbas

C   Constructor Delegation:  Why Initialize in the Member Initializer List?

Menwakilkan Pembina: Penyelaman Yang Lebih Dalam

Pendelegasi Pembina dalam C ialah teknik yang membenarkan pembina memanggil pembina lain daripada kelas yang sama. Ia berguna untuk mengurangkan pertindihan kod apabila berbilang pembina melakukan operasi yang serupa.

Dalam contoh yang disediakan, tujuannya adalah untuk mewakilkan pembinaan objek Bitmap menggunakan jenis argumen yang berbeza (cth., HBITMAP atau WORD ResourceID). Pendekatan kedua yang dibentangkan dalam soalan dengan betul menunjukkan delegasi pembina dalam senarai permulaan:

Bitmap::Bitmap(WORD ResourceID) : Bitmap((HBITMAP)LoadImage(...)

Sintaks ini memulakan objek Bitmap menggunakan pembina HBITMAP dan menghantar sumber yang dimuatkan sebagai hujah. Ini diutamakan berbanding pendekatan pertama, yang akan mencipta objek HBITMAP sementara dan kemudian cuba mewakilkan kepada pembina HBITMAP.

Delegasi pembina hanya boleh dilakukan dalam senarai permulaan pembina. Jika anda cuba mewakilkan daripada badan pembina, seperti dalam pendekatan pertama, ia akan membawa kepada ralat atau tingkah laku yang tidak diingini.

Atas ialah kandungan terperinci Delegasi Pembina C: Mengapa Memulakan dalam Senarai Pemula Ahli?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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