首頁 > 後端開發 > C++ > 主體

如何在 C 建構函式中初始化 `const` 欄位?

DDD
發布: 2024-11-02 21:19:03
原創
520 人瀏覽過

How to Initialize `const` Fields in C   Constructors?

在建構函式中初始化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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!