0

Gibt es andere Techniken wie RVO (Rückgabewertoptimierung) oder NRVO (benannte Rückgabewertoptimierung), die mit VC2008 verwendet werden können?Rückgabewertoptimierung in VC2008

+1

was genau zu tun? –

+0

nur zu wissen, so dass ich nicht schreiben Code, der nicht von meinem Compiler optimiert werden kann, vorausgesetzt, es gibt eine Möglichkeit – yesraaj

+2

nicht stören, schreiben Sie Code ohne solche Optimierungen, verbringen Sie diese Zeit nachdenken über Algorithmen statt. Wenn eine bestimmte Funktion zu einem Engpass werden würde, dann nur optimieren (aber Profiling, um zu überprüfen, ob es eine Optimierung ist) – vava

Antwort

1

Vielleicht this kann Ihnen helfen.

Aber normalerweise ist es der Compiler, der diese Art von Optimierung, nicht Sie tut.

2

Ich würde mir über diese Optimierungen nicht allzu viele Sorgen machen, wenn ich Sie wäre. Abgesehen von allem anderen sind sie nicht tragbar.

Wenn Sie sich Gedanken über das Schreiben von effizientem C++ - Code machen, besteht die wichtigste Regel darin, das Kopieren vollständig zu vermeiden. Stellen Sie sicher, dass Sie Referenzen überall dort verwenden, wo sie möglich sind, aber versuchen Sie nicht, sie dort zu verwenden, wo sie nicht sind. Danach brauchen Sie manchmal wirklich einen neuen Wert - zum Beispiel den Rückgabewert für Implementierungen von Operator +().

+1

Effektiver C++ hat ein Element auf RVO .. so dachte, es wäre gut, diese Dinge zu wissen – yesraaj