Pemulaan 2D std::array dengan Braces
Semasa bekerja dengan C , memulakan 2D std::array menggunakan pendakap boleh mencabar . Coretan kod berikut menggambarkan isu:
std::array<std::array<int, 3>, 2> a { {1, 2, 3}, {4, 5, 6} };
Pendekatan ini gagal dihimpun, dengan ralat pengkompil menunjukkan terlalu banyak pemula untuk std::array
std::array Internals
std::array ialah agregat yang merangkumi tatasusunan gaya C. Oleh itu, untuk memulakannya dengan betul, ia memerlukan pendakap luar untuk kelas itu sendiri dan pendakap dalam untuk ahli tatasusunan C:
std::array<int, 3> a1 = { { 1, 2, 3 } };
Melanjutkan logik ini kepada tatasusunan 2D menghasilkan pemulaan yang sah berikut:
std::array<std::array<int, 3>, 2> a2 { { { {1, 2, 3} }, { { 4, 5, 6} } } };
Dalam contoh ini:
Atas ialah kandungan terperinci Bagaimana untuk Memulakan `std::array` 2D dengan betul dalam C Menggunakan Braces?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!