由於一些類型的可流:Stream對象直接進入的std :: string
struct X {
int i;
friend std::ostream& operator<<(std::ostream& os, X const& x) {
return os << "X(" << x.i << ')';
}
};
我想這追加到std::string
。我可以爲實現這個:
void append(std::string& s, X const& x) {
std::ostringstream os;
os << x;
s.append(os.str());
}
但是,這因爲我寫數據到一個流只是然後分配一個新的字符串只是其附加到一個不同的目的似乎跛。有更直接的路線嗎?
我想看看http://www.boost.org/doc/libs/1_61_0/doc/html/interprocess/streams.html – bobah
可能實現'std :: string X :: repr()'或類似的,並在'append'和'operator <<'中調用?不理想,但您避免使用中間'stringstream'。 – Praetorian
簡單地說's.append(std :: string :: to_string(x));'?我錯過了一些重要的東西嗎 –