Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Permulaan Lalai Berfungsi dengan `std::array` dalam C 11?

Bagaimanakah Permulaan Lalai Berfungsi dengan `std::array` dalam C 11?

Patricia Arquette
Lepaskan: 2024-11-01 06:13:31
asal
453 orang telah melayarinya

How Does Default Initialization Work with `std::array` in C  11?

Permulaan Lalai dalam std::array

Pengamatan lalai ialah pemulaan yang berlaku apabila tiada pemula eksplisit disediakan. Dengan C 11 std::array, sintaks std::array x; menjamin bahawa semua elemen tatasusunan akan dimulakan secara lalai.

Menurut piawai C 11 (§8.5/11), sebarang objek tanpa pemula eksplisit dimulakan secara lalai. Ini termasuk objek std::array dan tatasusunan gaya C tradisional. Terutamanya, pemulaan lalai tidak mempunyai kesan ke atas jenis bukan kelas, bukan tatasusunan, menjadikan nilainya tidak dapat ditentukan.

Permulaan Nilai pada Semua Tatasusunan

Manakala permulaan lalai meninggalkan bukan -class, jenis bukan tatasusunan tak tentu, permulaan nilai menetapkan elemen kepada nilai lalainya. Dalam C 11, pemula nilai dicapai dengan menyediakan pemula kosong untuk setiap elemen tatasusunan:

int plain_int{};
int c_style_array[13]{};
std::array<int, 13> cxx_style_array{};
Salin selepas log masuk

Ini akan nilai-memulakan semua elemen tatasusunan, menyebabkan plain_int dan semua elemen tatasusunan dimulakan kepada sifar.

Atas ialah kandungan terperinci Bagaimanakah Permulaan Lalai Berfungsi dengan `std::array` dalam C 11?. 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