Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Memulakan `std::array` 2D dalam C ?

Bagaimanakah Saya Memulakan `std::array` 2D dalam C ?

Susan Sarandon
Lepaskan: 2024-11-21 01:28:13
asal
896 orang telah melayarinya

How Do I Initialize a 2D `std::array` in C  ?

Pemulaan 2D std::array

Walaupun penampilannya, 2D std::array dalam C tidak dimulakan dengan cara yang sama sebagai tatasusunan 2D C. Sebab asas untuk ini ialah std::array ialah kelas, bukan array.

Untuk memulakan 2D std::array, anda mesti menggunakan kedua-dua pendakap kelas dan pendakap tatasusunan ahli:

std::array<std::array<int, 3>, 2> a2 { { { {1, 2, 3} }, { { 4, 5, 6} } } };
Salin selepas log masuk

Dakap luar {} memulakan kelas itu sendiri, manakala pendakap dalam {{}} memulakan tatasusunan ahli C yang terkandung dalam kelas.

Perbandingan dengan pemula tatasusunan C

Untuk menjelaskan perbezaannya, berikut ialah perbandingan dengan pemula tatasusunan C:

struct B {
  int array[3];
};
struct A {
  B array[2];
};

B b = {{1,2,3}};
A a = {{
     {{1,2,3}},
     {{4,5,6}}
}};
Salin selepas log masuk

Dalam C, pendakap luar {} memulakan struct itu sendiri, manakala pendakap dalam {{}} memulakan tatasusunan ahli dalam struct. Sintaks ini adalah serupa dengan pemulaan 2D std::array dalam C , kecuali dalam kes kedua, kelas std::array memerlukan pendakap luar tambahan untuk memulakan kelas itu sendiri.

Atas ialah kandungan terperinci Bagaimanakah Saya Memulakan `std::array` 2D dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan