Wie wird das zugrunde liegende String-Objekt von std :: ostringstream verschoben?

8
%Vor%

Wie wird das zugrunde liegende String-Objekt von std :: ostringstream verschoben?

    
xmllmx 08.12.2016, 08:50
quelle

1 Antwort

3

Der Standard besagt, dass std::ostringstream::str() eine Kopie zurückgibt .

Eine Möglichkeit, diese Kopie zu vermeiden, besteht darin, eine weitere std::streambuf abgeleitete Klasse zu implementieren, die den Zeichenfolgenpuffer direkt verfügbar macht. Boost.IOStreams macht das ziemlich trivial:

%Vor%     
Maxim Egorushkin 08.12.2016, 11:33
quelle