Rumah >pembangunan bahagian belakang >C++ >Adakah Jenis C Terbina Dalam Mempunyai Pembina Lalai?

Adakah Jenis C Terbina Dalam Mempunyai Pembina Lalai?

Susan Sarandon
Susan Sarandonasal
2024-12-16 05:18:13551semak imbas

Do Built-in C   Types Have Default Constructors?

Adakah Jenis Terbina Dalam Memiliki Pembina Lalai?

Tanggapan bahawa jenis primitif dalam C kekurangan pembina telah menjadi subjek perdebatan. Hujah berpunca daripada pemahaman yang salah tentang istilah "pembina lalai" dan gelagat jenis terbina dalam.

Pembina Lalai vs. Permulaan Nilai

Pembina lalai ialah fungsi ahli yang memulakan pembolehubah ahli objek apabila tiada kaedah permulaan lain ditentukan. Menariknya, jenis terbina dalam mempamerkan tingkah laku yang sama, menyebabkan sesetengah orang menganggap kewujudan pembina lalai. Walau bagaimanapun, andaian ini tidak betul.

Jenis Terbina Dalam: Ketiadaan Pembina

Jenis primitif tidak mempunyai pembina eksplisit dalam erti kata tradisional. Sebaliknya, mereka menjalani pemulaan nilai, proses yang memberikan mereka nilai lalai (mis., sifar untuk int). Proses ini bukan panggilan pembina; sebaliknya, ia adalah operasi yang ditentukan bahasa.

Sintaks dan Tingkah Laku: Meniru Pembina

Pengenalan sintaks permulaan seragam dalam C 11 memperkenalkan keupayaan untuk memulakan jenis primitif menggunakan sintaks yang biasanya digunakan untuk pembina (cth., int x{5}). Sintaks ini mencipta ilusi penggunaan pembina, tetapi ia masih merupakan pemulaan nilai.

Penjelasan Bjarne Stroustrup

Bjarne Stroustrup, pencipta C , mengakui kabur konsep ini. Beliau mencadangkan bahawa jenis terbina dalam "dianggap mempunyai pembina" kerana tingkah laku seperti pembina mereka.

Kesimpulan

Kesimpulannya, jenis terbina dalam tidak memiliki pembina lalai dalam erti kata tradisional. Proses pemulaan mereka, yang dikenali sebagai permulaan nilai, ialah proses berasingan yang meniru gelagat pembina. Sintaks permulaan seragam yang diperkenalkan dalam C 11 mengaburkan lagi perbezaan ini, menyebabkan sesetengah pihak tersalah mengaitkan gelagat jenis terbina dalam dengan kehadiran pembina lalai.

Atas ialah kandungan terperinci Adakah Jenis C Terbina Dalam Mempunyai Pembina Lalai?. 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