Я впервые изучаю сокеты C++, и в моем примере много используется ostringstream. Какова цель и преимущество использования строковых потоков здесь, а не просто строк? В этом примере мне кажется, что я мог бы так же легко использовать обычную строку. Разве использование этого ostringstream не является более громоздким?
std::string NetFunctions::GetHostDescription(cost sockaddr_in &sockAddr)
{
std::ostringstream stream;
stream << inet_ntoa(sockAddr.sin_addr) << ":" << ntohs(sockAddr.sin_port);
return stream.str();
}
std::string
. Сомневаюсь, что вы много сэкономите. Обычно преимуществоstringstream
заключается в том, что вы можете легко заменить его наcout
илиfstream
позже. - person nwp   schedule 07.11.2016std::string
. Перегрузки<<
очень удобны. - person molbdnilo   schedule 07.11.2016std::ostream
, но вы хотите видеть результаты в строке (а не, скажем, в консоли)? Вы не можете дать емуstd::string
, не так ли? - person PaulMcKenzie   schedule 07.11.2016