Ich las einige Artikel und in vielen von ihnen erwähnt, über Expression-Vorlagen können vermeiden, temporäre Objekte zu verwenden. Aber keiner von ihnen erwähnte, wie das gemacht wird. Soweit ich weiß, werden Operationen aufgrund der Designarchitektur mit temporären Objekten durchgeführt. Zum Beispiel, wenn a, b und c sind zwei Matrix und wenn wir tun a = b+c
dann das Ergebnis von b+c
wird in einem temporären Objekt wie temp = b+c
gehalten und dann wird das Ergebnis zurück zu einem wie a = temp
kopiert.Wie Vorlagenausdrücke von Provisorien loswerden
Wenn wir jedoch Expressionsvorlagen verwenden, gibt diese Additionsoperation (+) die Referenz von b und c zurück, und dann erfolgt die Hauptberechnung, wenn der Zuweisungsoperator (=) ausgewertet wird. Dies ist das einfache allgemeine Konzept des Template-Ausdrucks. Aber ich verstehe nicht, wie es temporäre Objekte los wird. Es wäre schön, wenn jemand nur die allgemeine Vorstellung davon geben könnte, wie dieses Temporäre vermieden wird.
Sie könnten [diese Antwort] (http://stackoverflow.com/a/11812468/1322972) auf eine verwandte, aber nicht doppelte Frage finden, interessant. – WhozCraig
Sie erhalten immer noch ein temporäres Objekt, aber nicht den endgültigen Typ, Sie haben einen temporären Wrapper. – Jarod42