Heim >Backend-Entwicklung >C++ >Wo soll ich die Member-Initialisiererliste in einem C-Konstruktor platzieren?

Wo soll ich die Member-Initialisiererliste in einem C-Konstruktor platzieren?

Susan Sarandon
Susan SarandonOriginal
2024-12-14 12:33:11348Durchsuche

Where Should I Place the Member Initializer List in a C   Constructor?

Platzierung der Initialisiererliste in der Konstruktordefinition

Beim Definieren eines Klassenkonstruktors ist es wichtig, die Rolle der Mitgliedsinitialisiererliste zu verstehen. Diese Liste initialisiert Mitgliedsvariablen als Teil der Konstruktordefinition.

Was ihre Platzierung betrifft, ist die Initialisierungsliste Teil der Konstruktordefinition, nicht seiner Deklaration. Dies bedeutet, dass es nicht in der Header-Datei (.h) enthalten ist, in der die Klasse selbst deklariert ist. Stattdessen befindet es sich in der Quelldatei (.cpp), in der der Konstruktor definiert ist.

Beispielverwendung

Betrachten Sie die folgende Klasse:

class Example
{
private:
    int m_top;
    const int m_size;
public:
    Example(int size, int grow_by = 1);
};

In diesem Beispiel ist der Konstruktor wie folgt definiert:

Example::Example(int size, int grow_by) : m_size(5), m_top(-1)
{
    // ...
}

Die Initialisierungsliste innerhalb dieses Konstruktors initialisiert die Mitgliedsvariablen m_size und m_top. Es ist wichtig, die Initialisierungsliste als Teil der Konstruktordefinition in die Quelldatei (.cpp) aufzunehmen.

Daher erfolgt die korrekte Platzierung der Initialisierungsliste innerhalb der Konstruktordefinition und nicht in der Headerdatei ( .h) wo die Klasse deklariert ist.

Das obige ist der detaillierte Inhalt vonWo soll ich die Member-Initialisiererliste in einem C-Konstruktor platzieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn