), wird die Zeichenfolge garantiert in den optionalen verschoben?
Welche Form wird hier als idiomatisch angesehen, oder ist der Unterschied in der Praxis vernachlässigbar?
Ich habe mir die Konstruktorvorlage std::optional optional(U&& value) angesehen und weiß, dass es sich um eine Weiterleitungsreferenz handelt, aber ich bin es Ich bin mir nicht ganz sicher, wie sich die Überladungsauflösung in diesem Zusammenhang mit dem Rückgabeausdruck lvalue vs. rvalue verhält.
Meine Verwirrung betrifft die return-Anweisung in readFileContents: [list] [*]Die Funktion gibt std::optional zurück, aber die lokale Variable ist ein std::string.
[*]NRVO gilt hier nicht, da der Rückgabetyp der Funktion ([code]std::optional[/code]) unterscheidet sich vom lokalen Typ ([code]std::string[/code]), daher wird der optionale Konvertierungskonstruktor von verwendet.
[/list] Fragen: [list] [*]In [b]Version A[/b] ([code]return fileContents;[/code]), kopiert std::optional die Zeichenfolge oder verschiebt sie?
[*]In [b]Version B[/b] ([code]return std::move(fileContents);[/code]), wird die Zeichenfolge garantiert in den optionalen verschoben?
[*]Welche Form wird hier als idiomatisch angesehen, oder ist der Unterschied in der Praxis vernachlässigbar?
[/list] Ich habe mir die Konstruktorvorlage std::optional optional(U&& value) angesehen und weiß, dass es sich um eine Weiterleitungsreferenz handelt, aber ich bin es Ich bin mir nicht ganz sicher, wie sich die Überladungsauflösung in diesem Zusammenhang mit dem Rückgabeausdruck lvalue vs. rvalue verhält. [code] namespace FS = std::filesystem; using OptionalString = std::optional;
Verwenden der Java 8 -Stream -API Wie kann ich eine Karte zum Paar List, in der der linke Paarwert die Karte und die MAP -Taste ist, und die von der linken Paarwert verflachen kann. Rechts ist der...
Diese Frage ist eine Folgefrage zum Google-Mock mit dem unique_ptr-Objekt, das ein Problem mit einem Speicherverlust verursacht. Meine getestete Klasse übernimmt den Besitz des unique_ptr auf ihrem...