Memulakan Medan Konst dalam Pembina
Pertimbangkan senario di mana Bar kelas C memerlukan penuding Foo dan berhasrat untuk memastikan ia tidak berubah sepanjang kitaran hayatnya . Bagaimanakah ini harus dilaksanakan?
Pada mulanya, ia mungkin kelihatan mudah untuk memulakan medan const dalam pembina, seperti yang ditunjukkan di bawah:
<code class="cpp">class Foo; class Bar { public: Foo * const foo; Bar(Foo* foo) { this->foo = foo; } }; class Foo { public: int a; };</code>
Walau bagaimanapun, pendekatan ini gagal untuk disusun. Penyelesaiannya terletak pada penggunaan senarai pemula:
<code class="cpp">Bar(Foo* _foo) : foo(_foo) { }</code>
Perhatikan bahawa pembolehubah masuk telah dinamakan semula untuk mengelakkan konflik penamaan. Senarai pemula ini memulakan medan const pada permulaan pembina, memastikan kebolehubahannya.
Atas ialah kandungan terperinci Bagaimana untuk Memulakan Medan `const` dalam C Constructors?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!