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

我們何時以及為什麼應該在 C 構造函數中使用成員初始化列表?

Patricia Arquette
發布: 2024-11-19 08:26:02
原創
945 人瀏覽過

When and Why Should We Use Member Initialization Lists in C   Constructors?

C 建構子中的成員初始化清單

在 C 中,建構子定義中冒號後跟的賦值清單稱為成員初始化清單。它使您能夠在物件建立期間指定類別成員變數的初始值。

在提供的程式碼片段中:

class MyClass {
public:
    MyClass() : m_classID(-1), m_userdata(0) {}
    int m_classID;
    void *m_userdata;
};
登入後複製

成員初始化清單:m_classID(-1), m_userdata(0 ) 在建立物件時將初始值-1 指派給m_classID,將0 分配給m_userdata。這相當於編寫:

MyClass() {
    m_classID = -1;
    m_userdata = 0;
}
登入後複製

與構造函數體內的變數賦值不同,成員初始化列表確保在執行構造函數中的任何其他程式碼之前初始化這些特定的成員變數。這在需要特定初始值才能使類別正常運作的場景中至關重要。

以上是我們何時以及為什麼應該在 C 構造函數中使用成員初始化列表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板