Vor einigen Tagen, während Standard C++ news Lesen ich den Beitrag über Defaulted functions in C++11 gelesen haben, wird in diesem Artikel erwähnt, dass die benutzerdefinierten Konstruktor ist weniger effizient als die vom Compiler generiert:Sind benutzerdefinierte Standardkonstruktoren weniger effizient?
Die benutzerdefinierte Der Standardkonstruktor ist weniger effizient als der implizit definierte Standardkonstruktor des Compilers.
das Lesen fortsetzen, gibt es ein Beispiel, wo ein benutzerdefiniertes Konstruktor als Standard markiert ist, und dann sagt:
die explizit vorbelegt Konstruktor ist effizienter als ein manuell programmiert Standardkonstruktors.
Ich verstehe nicht, diese Behauptungen, also ich habe mich gefragt:
- Warum ein Benutzer-Default-Konstruktor (oder eine spezielle Funktionselement) wäre weniger effizient als der Compiler implizit ein definiert?
- Wie wird die Effizienz verbessert, indem ein Konstruktor (oder eine spezielle Elementfunktion) explizit defaultiert wird?
- Welche Richtlinien muss ich befolgen, um einen Konstruktor (oder eine spezielle Elementfunktion) als Standard festzulegen und wie wirkt sich die Effizienz auf diese Entscheidung aus?
http://stackoverflow.com/questions/4275861/why-would-the-implicitly-generated-constructor-et-al-be-more-efficient-than-a-?rq = 1 – shivakumar
Gut ein @shivakumar, aber beide Fragen hat noch keine akzeptierte Antwort, auch die, die Sie erwähnt, dass aus dem Jahr 2010 ist! : O –