#c #istream
#c #istream
Вопрос:
Я просто не вижу этого:
std::istringstream stream(somestring);
string temp;
stream >> temp;
В последней строке какая именно функция вызывается? Я не могу найти его в списке на >/» rel=»nofollow»>cplusplus.com. Спасибо!
Комментарии:
1.
std::istringstream
иstring
? Гдеstd::
в последнем?2. Вы имеете в виду
std::
или a.c_str()
? Последнее не требуется в c 0x.3. Ах, вы должны были упомянуть об этом. 🙂
Ответ №1:
Если не изменяет память, это перегрузка функции, не являющейся членом — имейте подпись что-то вроде:
std::istream amp;operator>>(std::istream amp;is, std::string amp;s);
(На данный момент я опустил тот факт, что оба istream
и string
действительно являются typedefs экземпляров шаблонов).
Комментарии:
1. Черт возьми, только что нашел это здесь: >/» rel=»nofollow noreferrer»> cplusplus.com/reference/string/operator>> Думаю, этого нет в списке, потому что оно просто не объявлено в
<istream>
заголовке… Хотя спасибо, вы странно указали мне правильное направление 🙂
Ответ №2:
Вы имеете в виду istreamamp; operator>> (istreamamp; is, stringamp; str);
?