在建構函式中初始化Const 欄位
考慮這樣的場景:C 類Bar 需要Foo 指針,並打算在其整個生命週期中保持它不可變。應該如何實現?
最初,在建構函式中初始化 const 欄位似乎很簡單,如下所示:
<code class="cpp">class Foo; class Bar { public: Foo * const foo; Bar(Foo* foo) { this->foo = foo; } }; class Foo { public: int a; };</code>
但是,這種方法無法編譯。解決方案在於使用初始值設定項目清單:
<code class="cpp">Bar(Foo* _foo) : foo(_foo) { }</code>
請注意,傳入變數已重新命名以防止命名衝突。此初始化列表在建構函數的最開始初始化 const 字段,確保其不變性。
以上是如何在 C 建構函式中初始化 `const` 欄位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!