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
836 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!

sumber:php.cn
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