потом открыл для себя циклы.
Циклы ненужно открывать их нужно закрывать. Если вы пишите такое значит Вы не понимаете для чего создался STL.
Может и не понимаю. Но я написал много кода на чистом STL, несколько лет им пользовался постоянно. Он мне очень нравится, более логичной библиотеки не встречал.
Но, боюсь, про циклы это вы не понимаете. Цель STL точно _не_ в отказе от циклов. Циклы гибче. Иногда они хуже читаемы, иногда лучше, зависит от контекста и того, кто пишет. Пример отказа от циклов -- язык haskell -- очень сложен в изучении.
Еще некоторые стандарты кодирования с++ запрещают использование циклов.
'Некоторые' стандарты вообще предписывают носить ритуальную одежду и петь хором
Просто мне стало непонятно как можно написать тот код используя QDirIterator не использовать циклы.
Никак, но и незачем. Тебя наверное ввело в заблуждении, что он _называется_ итератор. Это ещё не значит, что он итератор STL.
С++ это смешанный язык. По сути Qt основан на наследовании, STL на шаблонах. Эти составляющие пришли из разных языков c разной философией. _Невозможно_ красиво их отобразить друг на друга. И не нужно. Ну если очень хочется, возьми boost::iterator_facade, напиши обёртку QDirIterator. Но учти, обычный цикл будет
1) короче
2) проще
3) быстрее компилироваться
4) легче читаться теми, кто знаком с QDirIterator (а если напишешь my_q_iterator то с ним никто не знаком)
5) выдавать понятные сообщения об ошибках компиляции
6) его будет легче отлаживать (вставить дебажную печать, останов в дебаггере и т.п.)
У некоторых может сомнение зародиться, что мол ты обижаешь итератор, да и хвастаешься, что буст знаешь.
Нет я не делал такого.
Почему такое впечатление возникает: ты берёшь за данность, что всё должно быть в STL-стиле. Твой вопрос даже не подразумевает, что может быть как-то ещё. Поэтому похоже больше на желание поспорить, чем желание что-то узнать. Ещё твой стиль изложения немного агрессивный, что ли.. (может потому что русский не родной язык?)
Вот почитай внимательно, что они пишут: "Кьют тебе не нужен (он только для мышковозов)", горько звучат эти слова. А ты их подначиваешь! Нехорошо!
Я непонимаю.
Тебе намекают, что твой тон агрессивный и максималистский, также что сообщение троллинг. Можно списать на несвободное владение русским, в принципе, но есть нюанс. Агрессивны сообщения может только по форме (здесь владение языком), но максималистские они по сути.
Лично для меня Qt нужен не как универсальная библиотека, а как библиотека позволяющая мультиплатформенно решать интерфейсные задачи
Тоесть вы не пишите на нем алгоритмы?
Кьют и STL это не Коран и Библия, их можно совмещать. Не надо изучение кьют превращать в крестовый поход по лозунгом всё-в-кьют-стиле. Считай их инструментами: какой смысл копать молотком, или забивать гвозди лопатой?