Цикл for на основе диапазона для istringstreamC++

Программы на C++. Форум разработчиков
Anonymous
Цикл for на основе диапазона для istringstream

Сообщение Anonymous »


Я читаю строки из файла через std::getline, мне хотелось бы выполнить дополнительную обработку для каждого слова в строке. Я знаю, что для циклов for на основе диапазона требуется итератор с начальным элементом, поэтому я попытался использовать std::istream_iterator, но, по-видимому, этого недостаточно, что в этом плохого? Почему я не могу использовать это выражение в цикле for?

std::istringstream Words(line); for (const auto& s : (std::istream_iterator(words))) { // печатаем здесь каждое слово } Кроме того, я знаю, что могу решить эту проблему с помощью boost::range::istream_range, но как мне это сделать без повышения?

Вернуться в «C++»