#include <sstream>
#include <string>
using namespace std;
template<typename T>
string ToString(const T& obj)
{
ostringstream oss;
oss << obj;
//
// oss will never be used again, so I should
// MOVE its underlying string.
//
// However, below will COPY, rather than MOVE,
// oss' underlying string object!
//
return oss.str();
}
Std :: ostringstream'in temeldeki dize nesnesi nasıl taşınır?Std :: ostringstream'in temeldeki dize nesnesini nasıl taşıyabilirim?
Sana s = hareket 'tarafından yapabileceğini tahmin (oss.rdbuf() -> str())' [Ah, kontrol ettim, ** yapamazsın **] Ancak, kilidin varsayımlarını, ayağın altından halıyı çekerek riske atabilirsiniz. Bunu neden istiyorsun? –
Sanırım C++ 17'den "node handle" kullanarak ilginç bir şey icat edebilirsiniz: http://en.cppreference.com/w/cpp/container/node_handle – alexeykuzmin0
Bu mümkün değil, 'std ' :: basic_stringbuf', temelindeki arabellek olarak bir std :: basic_string işlevini kullanır (uygulamada bu şekilde yapılsa bile). – user657267