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?