标准库函数用于转换提供运算符的对象<<到std :: string

时间:2015-04-17 09:21:01

标签: c++ c++11 iostream stdstring ostream

我刚刚注意到我在我的C ++ 11应用程序中使用了以下代码(工作正常):

template <typename T>
std::string output_streamable_to_string(T const& kObject) {
  std::ostringstream os;
  os << kObject;

  return os.str();
}

所以我的问题是:标准库(std)中是否存在提供此功能的功能?

我知道std::to_string存在,但这只适用于标准库数据类型。我想将boost::asio::ip::udp::endpoint转换为std::string。由于boost::asio::ip::udp::endpoint仅提供operator<<功能,因此我需要将std::ostream转换为std::string

1 个答案:

答案 0 :(得分:5)

不,标准C ++中没有这样的功能。但是既然你使用了boost - 你可以使用boost::lexical_cast,或者只使用你自己的。