Рассмотрим следующую функцию:Понимание потоков: как эта функция работает?
template <class T>
void to_string(const T& val, string& s) {
ostringstream o;
o << val;
s = o.str();
}
я не уверен, как работает эта функция. У меня есть два предположения, скажите, пожалуйста, какой из них является правильным (если таковые имеются):
ostringstream
имеет перегрузкуoperator<<
, который принимает все, чтоT
есть (маловероятно).Существует глобальная функция с подписью
ostream& operator<<(ostream& stream, Sometype& t)
. Это позволяет записыватьT
вostringstream
, предполагая, что этоSometype
.
Какой из этих, скорее всего, правильный? Я принимаю второй, но я не уверен.
Прочитайте документацию и узнайте –