将提供 operator<< 的对象转换为 std::string 的标准库函数
Standard Library function to convert an object providing operator<< to a std::string
我刚注意到我在我的 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
.
不,标准C++中没有这样的函数。但是因为你使用了 boost - 你可以使用 boost::lexical_cast,或者只使用你自己的。
我刚注意到我在我的 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
.
不,标准C++中没有这样的函数。但是因为你使用了 boost - 你可以使用 boost::lexical_cast,或者只使用你自己的。