Bolehkah std::array menjadi Lalai-Dimulakan?

DDD
Lepaskan: 2024-10-31 03:29:02
asal
654 orang telah melayarinya

Can std::array be Default-Initialized?

Bolehkah std::array dijadikan Default-Initialized?

Dengan mengisytiharkan pembolehubah sebagai std::array x;, anda boleh menjamin bahawa semua elemennya akan dimulakan secara lalai. Menurut standard bahasa C 11 (§8.5/11), mana-mana objek tanpa pemula eksplisit dimulakan secara lalai.

Walau bagaimanapun, anda harus sedar bahawa pemulaan lalai tidak mempunyai kesan pada bukan kelas, bukan- jenis tatasusunan (§8.5/6), menjadikan nilainya tidak dapat ditentukan. Contohnya, tatasusunan yang dimulakan lalai bagi jenis sedemikian akan mempunyai nilai yang tidak tentu.

Nilai-Inisialisasi Tatasusunan

Jika anda ingin memulakan semua elemen tatasusunan kepada yang khusus nilai T{}, ini bukan permulaan lalai tetapi permulaan nilai (8.5/7). Anda boleh nilai-memulakan tatasusunan dengan mudah dalam C 11 dengan menggunakan pemula kosong:

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

Ini akan nilai-memulakan semua elemen tatasusunan, menghasilkan nilai konsisten 0 untuk integer dan nilai lalai untuk data masing-masing jenis.

Atas ialah kandungan terperinci Bolehkah std::array menjadi Lalai-Dimulakan?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!