Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Memulakan Tatasusunan yang Diperuntukkan dengan Pengendali `baru` dengan Cekap dalam C ?

Bagaimana untuk Memulakan Tatasusunan yang Diperuntukkan dengan Pengendali `baru` dengan Cekap dalam C ?

Linda Hamilton
Linda Hamiltonasal
2024-11-16 13:40:03487semak imbas

How to Efficiently Initialise Arrays Allocated with the `new` Operator in C  ?

Memulakan Memori dengan Operator Baharu dalam C

Pertanyaan:

Pelajar permulaan C sering tertanya-tanya tentang amalan terbaik untuk memulakan tatasusunan yang diperuntukkan dengan operator baharu. Adakah lebih disukai untuk menggelung secara manual dan menetapkan setiap elemen kepada 0, atau adakah terdapat kaedah yang lebih cekap?

Jawapan:

Anehnya, C menawarkan sintaks khusus untuk tatasusunan permulaan nilai:

new int[10]();

Adalah penting untuk memasukkan kurungan kosong; menggunakan (0) atau input lain tidak akan berfungsi dengan teknik ini.

Tingkah laku ini digariskan dalam ISO C 03 5.3.4[expr.new]/15, yang menyatakan bahawa ungkapan baharu dengan pemula () akan melakukan pemulaan nilai, tanpa mengira jenis tatasusunan.

Sebaliknya, bentuk pemulaan (senarai ekspresi) disertakan dengan sekatan yang tidak membenarkan jenis tatasusunan.

Atas ialah kandungan terperinci Bagaimana untuk Memulakan Tatasusunan yang Diperuntukkan dengan Pengendali `baru` dengan Cekap dalam C ?. 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