?
martini3k1 schrieb:
Ich verstehe es richtig, dass die Initialisierungsliste (also, wenn man über den :-Operator initialisiert) die Daten schneller verarbeitet, als wenn es in dem Definitionsbereich in den geschw. Klammern getan wird? Grund dafür ist dass, wenn es nicht mit besagter Liste abläuft, der Compiler einen Standard-Konstruktor selbst generiert und die Member erst mal undefiniert sind, bis sie dann durch die Initialisierungen überschrieben werden?
Dann meine eigentliche Frage:
Wo schreibt man die Initialisierungsliste hin? In den Header, oder in die .cpp?
Das ist kein Operator, sondern einfach nur ein :. Daten werden schneller verarbeitet ist auch komisch ausgedrückt. Mit der Initialisierungsliste initialisierst du halt deine Member, also der Copy-Ctor wird verwendet. Ohne Initialisierungsliste initialisierst du deine Member halt nicht, also der Default-Ctor + operator= wird verwendet. Du sparst dir mittels Initialisierungsliste also einen Funktionsaufruf .
Die Initialisierungsliste gehört natürlich zur Definition eines Ctor, und eine Definition steht natürlich nie in einer Header.
@Mod: Die Forensuche scheint im Moment gar nicht mehr zu funktionieren?