Verwendung der Bewegungssemantik für einen Darstellungsoperator

8

Angenommen, ich habe zwei Klassen foo und bar , die ziemlich gut miteinander verwandt sind. Damit meine ich, dass sie gemeinsame Datenelemente enthalten.

Ich habe einen Umwandlungsoperator operator bar() const; in der Klasse foo .

Ich habe auch eine Funktion func , die ein bar benötigt.

Wenn ich func mit einem anonymen temporären foo aufrufe, wird der Cast-Operator aufgerufen. Aber da ich foo nicht benötige, kann ich eine Art move cast deklarieren, um unnötige Kopien explizit zu optimieren?

    
P45 Imminent 01.07.2015, 11:35
quelle

2 Antworten

12

Wenn Ihr Compiler ref-qualifiers auf Elementfunktionen (eine C ++ 11-Funktion) unterstützt, können Sie:

%Vor%

[Live-Beispiel]

    
Angew 01.07.2015, 11:38
quelle
4

Ja, Sie können r-value this syntax verwenden:

%Vor%     
p2rkw 01.07.2015 11:39
quelle

Tags und Links