由于一些类型的可流: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));'?我错过了一些重要的东西吗 –