C++ erlaubt eine Klasse instanziiert wird, die öffentlichen Member Wert über eine Initialisierungs Einstelldetailliste, wie das folgende Beispiel zeigt für b1
:C++: Wie wird die Konstruktion durch Initialisierungsliste durchgeführt?
class B {
public:
int i;
std::string str;
};
B b1{ 42,"foo" };
B b2();
; Wenn ich jedoch einen Konstruktor
B(int k) { }
bereitstellen, wird es nicht kompilieren.
Also, was ist hinter der Haube los? Wenn kein Konstruktor bereitgestellt wird, stellt der Compiler einen zur Verfügung? Aber wie könnte es eine Initialisierungsliste geben? Ich dachte, es wird nur einen "leeren" Konstruktor zur Verfügung stellen, der keine Eingabe macht, wie das Beispiel für b2
zeigt. Oder bietet es beides?