LINUX.ORG.RU

разве этот код должен был работать без «*» и потом без «++»?

 , ,


1

3

#include <iostream> #include <iterator> #include <fstream>

int main() { std::ostream_iterator <int> it (std::cout, ","); *it++ = 17; *it++ = 20; }//17,20

int main() { std::ostream_iterator <int> it (std::cout); it = 17; it = 20; }



Последнее исправление: SerjVec (всего исправлений: 2)

В таких случаях выкладывай полный код, включая инклуды. Лень же руками их писать, чтобы глянуть что тебя так удивляет. Вывод хоть приведи. И что ты ожидал тоже. Так будет проще понять, что ты не понимаешь.

peregrine ★★★★★
()
Последнее исправление: peregrine (всего исправлений: 2)
Ответ на: комментарий от peregrine

я думал вылетит, но хз, не понимаю ничего

SerjVec
() автор топика

А плюсы умеют в перегрузку оператора «присвоить»? Возможно в этом дело?

anonymous
()

output-итераторы просто так реализуются:

  • ++ ничего не делает (только возвращает *this)
  • * — аналогично
  • = выполняет всю работу
xaizek ★★★★★
()
Ответ на: комментарий от asaw

Я не сильно умею в плюсы, пока не пригодилось, спасибо за линк.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.