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

Bagaimanakah Permulaan Lalai Dikendalikan untuk `std::array` dalam C 11?

Susan Sarandon
Susan Sarandonasal
2024-10-30 22:14:30246semak imbas

How is Default Initialization Handled for  `std::array` in C  11?

Permulaan Lalai std::array C 11

Pengamatan lalai, dilakukan apabila tiada pemula eksplisit ditentukan, dijamin oleh standard bahasa C untuk semua objek tanpa pemula eksplisit, termasuk contoh std::array dan T[N] (§8.5/11).

Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa pemulaan lalai tidak mempunyai kesan pada jenis bukan kelas, bukan tatasusunan, menjadikan nilainya tidak tentu (§8.5/6) . Sebagai contoh, tatasusunan yang dimulakan lalai bagi jenis sedemikian akan mempunyai nilai tidak tentu:

<code class="cpp">int plain_int;
int c_style_array[13];
std::array<int, 13> cxx_style_array;</code>

Untuk secara eksplisit memulakan semua elemen kepada T{}, gunakan permulaan nilai (8.5/7):

<code class="cpp">int plain_int{};
int c_style_array[13]{};
std::array<int, 13> cxx_style_array{};</code>

Atas ialah kandungan terperinci Bagaimanakah Permulaan Lalai Dikendalikan untuk `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