Bagaimana untuk Memulakan Array Const dalam Pemula Kelas dalam C?

Barbara Streisand
Lepaskan: 2024-11-04 04:27:01
asal
291 orang telah melayarinya

How to Initialize a Const Array in a Class Initializer in C  ?

Memulakan Tatasusunan Const dalam Pemula Kelas dalam C

Dalam C , memulakan tatasusunan const dalam senarai pemula kelas boleh kelihatan seperti cabaran kerana sekatan kata kunci const pada pengubahsuaian dalam fungsi. Walau bagaimanapun, tugas ini dimungkinkan dengan pengenalan C 11.

Sebelum ini, memulakan tatasusunan const dalam badan pembina tidak berdaya maju. Percubaan untuk berbuat demikian, seperti dalam contoh kod yang diberikan, menghasilkan ralat. Ini kerana pembolehubah const tidak boleh diubah suai selepas pemulaan.

Walau bagaimanapun, dalam C 11, penyelesaian muncul: memulakan tatasusunan dalam senarai permulaan pembina. Pendekatan ini membolehkan kami menentukan elemen tatasusunan secara langsung:

<code class="cpp">struct a {
    const int b[2];
    // other stuff follows

    // Here's the constructor
    a() :
        b{2, 3}
    {
        // other constructor work
    }
};</code>
Salin selepas log masuk

Dalam contoh ini, tatasusunan b dimulakan dengan elemen {2, 3}. Inisialisasi ini memastikan bahawa nilai b kekal malar sepanjang hayat objek.

Adalah penting untuk ambil perhatian bahawa kejadian kelas a yang berbeza boleh mempunyai nilai yang berbeza untuk b. Walau bagaimanapun, nilai untuk contoh tertentu kekal malar sebaik sahaja pembina telah dilaksanakan. Tingkah laku inilah yang membezakan tatasusunan ini daripada tatasusunan bukan const, yang boleh diubah suai semasa hayat objek.

Atas ialah kandungan terperinci Bagaimana untuk Memulakan Array Const dalam Pemula Kelas dalam C?. 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