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

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

Patricia Arquette
Patricia Arquetteasal
2024-11-01 06:13:31332semak imbas

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{};

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:
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