Soalan:
Lakukan pembina lalai, yang dijana secara automatik oleh pengkompil, mulakan jenis terbina dalam dalam C ?
Jawapan:
Tidak, pembina lalai (dicipta oleh pengkompil untuk kelas tanpa pembina yang ditentukan pengguna) tidak memulakan ahli jenis terbina dalam.
Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa terdapat mekanisme lain untuk memulakan kejadian kelas yang tidak melibatkan lalai pembina:
Contoh:
Pertimbangkan kelas berikut:
class C { public: int x; };
Pengkompil -pembina lalai yang disediakan untuk C tidak akan dimulakan C::x.
C c; // Compiler-provided default constructor is used // c.x contains garbage
Sebaliknya, menggunakan permulaan nilai atau permulaan agregat akan memulakan sifar C::x:
C c = C(); // Uses value-initialization instead of default constructor // c.x == 0 C d{}; // Aggregate initialization // d.x == 0
Atas ialah kandungan terperinci Adakah Pembina Lalai C Memulakan Ahli Jenis Terbina Dalam?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!