C++ Konstruktoren vs-Initialisierung-Listen, speed-Vergleich

Gibt es Unterschiede in der Ausführungszeit zwischen Konstruktoren und Initialisierungs-Listen?(oder ist es nur eine Frage der Codierung Präferenz).
Ich habe eine Reihe von Objekten, die erstellt werden muss, die Häufig und würde gerne wissen, ob es irgendwelche performance-Gewinn durch die Verwendung von Initialisierungs-Listen anstelle von Konstruktoren.

Wenn ich erstellen Sie eine Millionen Instanzen der Klasse A und eine weitere million von Klasse B, die Wahl wäre besser(die Objekte repräsentieren-Pakete generiert, in einem Netzwerk, daher diese zahlen).

 class A {
   private:
     int a, b;

   public:
     A(int a_var, int b_var):a(a_var), b(b_var) {}; 
 };

 class B {
   private:
     int a, b;

   public:
     B(int a_var, int b_var) {
        a = a_var;
        b = b_var;
     }
};

Wenn einer der Konstruktoren ist schneller als die andere für die primitiven Typen(wie im Beispiel) wird es schneller sein, wenn a und b wurden ersetzt durch Typen?

Typ Beispiel:

 class AType {
   private:
     string a, b;

   public:
     AType(string a_var, string b_var):a(a_var), b(b_var) {}; 
};

InformationsquelleAutor der Frage Sebi | 2012-11-03

Schreibe einen Kommentar