Frage

Ich lerne mit den Flyweights von Key_Value und habe den folgenden Code geschrieben: generasacodicetagpre.

Wenn ich es renne, bekam ich die Follwing-Ausgabe: generasacodicetagpre.

Ich möchte die zusätzliche Kopie vermeiden, da mein echter Foo recht teuer ist, um zu kopieren.Dies ist auch der Hauptgrund, warum ich ein Flyweight benutze.Es gibt also eine Möglichkeit, die Extra-Kopie zu vermeiden?

War es hilfreich?

Lösung

Sie sollten sich keine Sorgen machen, da der Compiler dies in einigen Fällen mit RVO optimieren kann.Verwenden Sie Compiler-Optionen, um eine solche Optimierung wo immer möglich zu aktivieren.

Und vor allem mit C ++ 11 sollten Sie sich fast nie Sorgen machen, da es Move-Semantik eingeführt hat, die Sie nicht viel kosten, auch wenn einige temporäre Objekte in der Fliege im Flyweight-Muster erstellt werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top