C++:是否有可能从一个重载<<运算符的对象中获取一个std :: string?

gob*_*gob 3 c++ string stl

我有一个可以打印到控制台的对象std::cout << obj,但我无法得到std::string它,因为它似乎没有像.string()方法那样实现.我以为我可以使用那个重载的运算符来获取所有内容的字符串表示,而不是每次需要时都必须自己实现一个函数,尽管在这个主题上没有发现任何东西让我认为这是不可能的.

Dar*_*con 10

用一个std::ostringstream.它是一个写入字符串的C++流实现.


ham*_*mar 8

你可以使用std::ostringstream.

std::ostringstream os;
os << obj;
std::string result = os.str();
Run Code Online (Sandbox Code Playgroud)