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

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

Susan Sarandon
Lepaskan: 2024-10-30 22:14:30
asal
316 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

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