Array-Mitglied in der Initialisierungsliste auf Null setzen

Ich habe eine Klasse mit einem Arraymitglied, das ich mit allen Nullen initialisieren möchte.

class X
{
private:
    int m_array[10];
};

Für eine lokale Variable gibt es eine einfache Möglichkeit, die Initialisierung auf Null zu setzen (sieheHie):

int myArray[10] = {};

Auch das Klassenmitgliedm_array muss unbedingt initialisiert werden, da bei der Standardinitialisierung nur zufälliger Müll übrig bleibt, wie erklärtHie.

Ich sehe jedoch zwei Möglichkeiten, dies für ein Member-Array zu tun:

Mit Klammern:

public:
    X()
    : m_array()
    {}

Mit geschweiften Klammern:

public:
    X()
    : m_array{}
    {}

Sind beide richtig? Gibt es einen Unterschied zwischen den beiden in C ++ 11?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage