Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Memulakan Ahli Tatasusunan `const` dalam C Menggunakan Senarai Permulaan Pembina?

Bagaimana untuk Memulakan Ahli Tatasusunan `const` dalam C Menggunakan Senarai Permulaan Pembina?

Barbara Streisand
Barbara Streisandasal
2024-11-03 17:26:03584semak imbas

How to Initialize `const` Array Members in C   Using Constructor Initialization Lists?

Menggunakan Senarai Permulaan Pembina untuk Memulakan Ahli Tatasusunan Konst

Dalam C , ahli kelas dengan kelayakan const dianggap tetap dan tidak boleh diubah suai selepas permulaan. Ini menimbulkan persoalan bagaimana untuk memulakan ahli tersebut dalam senarai pemula kelas. Pertimbangkan takrifan kelas berikut:

<code class="cpp">class MyClass {
public:
    const int arr[2];
};</code>

Tidak mungkin untuk memulakan arr dalam badan fungsi pembina kerana ia diisytiharkan const. Walau bagaimanapun, C 11 memperkenalkan ciri baharu yang membenarkan memulakan ahli const dalam senarai permulaan pembina.

<code class="cpp">struct MyClass {
    const int arr[2];

    MyClass() :
        arr{ 2, 3 }
{
    // Other construction logic
}
};</code>

Dalam contoh ini, ahli arr dimulakan dengan nilai {2, 3} dalam senarai permulaan pembina . Ini membolehkan penciptaan berbilang kejadian MyClass dengan nilai pemalar yang berbeza untuk arr.

Atas ialah kandungan terperinci Bagaimana untuk Memulakan Ahli Tatasusunan `const` dalam C Menggunakan Senarai Permulaan Pembina?. 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