C : Pemula Pembina untuk Tatasusunan
Dalam C , memulakan tatasusunan objek boleh menjadi satu cabaran. Untuk senario bukan tatasusunan, seseorang boleh menggunakan sintaks pembina seperti:
struct Foo { Foo(int x) { /* ... */ } }; struct Bar { Foo foo; Bar() : foo(4) {} };
Walau bagaimanapun, isu timbul apabila berurusan dengan tatasusunan:
struct Foo { Foo(int x) { /* ... */ } }; struct Baz { Foo foo[3]; // Incorrect syntax Baz() : foo[0](4), foo[1](5), foo[2](6) {} };
Malangnya, dalam C (sebelum lebih lelaran bahasa baru-baru ini), tidak ada kaedah mudah untuk memulakan ahli tatasusunan menggunakan pembina. Had ini berpunca daripada keperluan pembina lalai untuk ahli tatasusunan, yang digunakan secara automatik semasa pemulaan tatasusunan. Selepas itu, sebarang permulaan tambahan dalam pembina diteruskan. Untuk sistem terbenam yang tidak mempunyai fungsi STL, satu penyelesaian melibatkan pembina lalai bersama kaedah init() eksplisit yang boleh dipanggil selepas pembinaan, mengelakkan keperluan untuk pemula.
Atas ialah kandungan terperinci Bagaimana untuk Memulakan Tatasusunan Objek dengan Pembina dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!