Russian Qt Forum
Май 06, 2024, 22:41 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Голосование
Вопрос: Хотите ли Вы в этом разбираться?
Да, хочу - 4 (22.2%)
Было бы полезно, но нет времени - 5 (27.8%)
Нет, это не окупает изучения - 4 (22.2%)
Та ну его нафиг! - 5 (27.8%)
Ваш вариант - 0 (0%)
Всего голосов: 11

Страниц: 1 [2] 3 4 ... 8   Вниз
  Печать  
Автор Тема: Хотите ли Вы в этом разбираться?  (Прочитано 48625 раз)
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4349



Просмотр профиля
« Ответ #15 : Апрель 22, 2014, 16:15 »

Методов нет, всё упирается в буст и его знание Улыбающийся
Это заблуждение. Улыбающийся
Итераторы это базовое понятие языка. Вы не можете разобраться с итераторами? Вы не знаете, что это такое?
Записан
_Bers
Бывалый
*****
Offline Offline

Сообщений: 486


Просмотр профиля
« Ответ #16 : Апрель 22, 2014, 23:37 »

По впечатлению от беглого осмотра: код простой; читается легко.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #17 : Апрель 23, 2014, 09:07 »

Вроде код читается относительно не сложно.
По впечатлению от беглого осмотра: код простой; читается легко.
Я Вам верю. Но вот ситуация: автор кода сейчас отсутствует, а тут вылезла проблема, приходят файлы с др концами строк, не только \n как рассчитывалось
Код:
tex_string_iterator<char> ibegin(buffer.begin(), buffer.end(), '%', '\n');
Наверное Вам не составит труда изменить код так чтобы отрабатывались все 3 варианта  (\n, \r, \n\r).

Спасибо
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4349



Просмотр профиля
« Ответ #18 : Апрель 23, 2014, 09:17 »

Наверное Вам не составит труда изменить код так чтобы отрабатывались все 3 варианта  (\n, \r, \n\r).
Конечно не составит. Улыбающийся
Автор уже выложил причесанную версию с регулярками. Улыбающийся

Мда, печально. Элементарный итератор вызывает огромные сложности, и это на программистском форуме. Грустный
Записан
m_ax
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2094



Просмотр профиля
« Ответ #19 : Апрель 23, 2014, 09:23 »

Вроде код читается относительно не сложно.
По впечатлению от беглого осмотра: код простой; читается легко.
Я Вам верю. Но вот ситуация: автор кода сейчас отсутствует, а тут вылезла проблема, приходят файлы с др концами строк, не только \n как рассчитывалось
Код:
tex_string_iterator<char> ibegin(buffer.begin(), buffer.end(), '%', '\n');
Наверное Вам не составит труда изменить код так чтобы отрабатывались все 3 варианта  (\n, \r, \n\r).

Спасибо

Да легко (вы последний вариант tex_iteratora смотрели?):
Код
C++ (Qt)
  boost::regex expr("(#[^\\n\\r]*)");
 
   std::string buffer = "AA, BB, C#DD, F\n++, D #Perl\r";
 
   tex_iterator<std::string::const_iterator> iter(buffer.begin(), buffer.end(), expr);
   tex_iterator<std::string::const_iterator> end(buffer.end(), buffer.end(), expr);
 
   for (; iter != end; ++iter)
       std::cout << *iter;
 
Записан

Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..

Arch Linux Plasma 5
Bepec
Гость
« Ответ #20 : Апрель 23, 2014, 16:27 »

Не все работают с итераторами. Я до последнего времени больше работал с UI, чем с внутренними механизмами.

И да, мне непонятна хренова туча буковок, которые называются итераторами Улыбающийся

PS кто поставит мне в укор то, что я незнаю итераторы, тот пусть подумает и сам назовёт ту часть программирования в которой слаб. Всесторонне сильных не бывает, увы Улыбающийся
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #21 : Апрель 23, 2014, 16:32 »

То что Вы высказываете свое мнение не боясь авторитетов - это радует. Но если Вы (неоднократно) даете уроки русского языка - пишите "не" правильно хотя бы с глаголами
незнаю итераторы
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4349



Просмотр профиля
« Ответ #22 : Апрель 23, 2014, 16:36 »

PS кто поставит мне в укор то, что я незнаю итераторы
Я вам поставлю в укор не то, что вы не знаете, а то что не хотите узнать. Почитайте про них, хотя бы в википедии. Улыбающийся
Это настолько просто, что вы сами удивитесь.
Записан
Bepec
Гость
« Ответ #23 : Апрель 23, 2014, 17:52 »

to Igors: Любители русского языка и граммофилы в шеренгу и шагом марш в прорубь.
to Old: простое знание итераторов у меня есть. Я знаю что это, даже простейшими std оперирую. А вот более сложного нет. Ибо нет реальной задачи для их использования Улыбающийся
« Последнее редактирование: Апрель 23, 2014, 20:31 от Bepec » Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4349



Просмотр профиля
« Ответ #24 : Апрель 23, 2014, 17:54 »

А вот более сложного нет. Ибо нет реальной задачи для их использования Улыбающийся
Вы не пользуетесь коллекциями? Улыбающийся
Очень удобны для последовательного прохождения.
Записан
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« Ответ #25 : Апрель 23, 2014, 19:25 »

Вы не пользуетесь коллекциями? Улыбающийся
Я не пользуюсь в смысле совместно с итераторами. Не вижу от них реальных бонусов в своих задачах. Для последовательного прохождения использую foreach или for в контексте C++ 0x. Итераторный синтаксис меня лично коробит своей избыточностью.
Вам правда нравится писать так:
Код
C++ (Qt)
tex_iterator<std::string::const_iterator> iter(buffer.begin(), buffer.end(), expr);
Мне даже читать это неприятно, а писать - так уж и подавно. Ключевое слово auto в С++ 0x, конечно, несколько скрашивает этот кошмар, но, по моему, сама необходимость его присутствия в новом стандарте только подчеркивает нелепость (в синтаксическом смысле) таких языковых конструкций.
Записан
m_ax
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2094



Просмотр профиля
« Ответ #26 : Апрель 23, 2014, 20:11 »

Возвёл очи к небу..  Плачущий
Записан

Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..

Arch Linux Plasma 5
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4349



Просмотр профиля
« Ответ #27 : Апрель 23, 2014, 20:33 »

Вам правда нравится писать так:
Конечно нет. Улыбающийся
И для простого прохода по коллекции буду использовать for( auto v : collection ), пока мне не понадобиться внедриться в процесс движения указателя/курсора. А вот когда это понадобится, я создам итератор и буду использовать такую длинную запись.
Что такое итератор? Это, по сути, указатель на элемент коллекции, причём универсальный указатель. С ним могут работать все (имеются ввиду алгоритмы и функции). И если я хочу, что бы указатель научился новым фокусам, то я переопределяю его функционал. И могу использовать свой новый итератор в любом старом коде, более ничего не меняя.
Записан
Bepec
Гость
« Ответ #28 : Апрель 23, 2014, 20:34 »

Мне неприятен механизм их. Что нужны проверки на конец и т.п. Я уж лучше возьму, выясню длину, и точно пройду от и до for'ом.
update: и да, я могу использовать свой новый for в любом месте, где ток можно. Даже в С.

Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4349



Просмотр профиля
« Ответ #29 : Апрель 23, 2014, 20:45 »

Я уж лучше возьму, выясню длину, и точно пройду от и до for'ом.
А если на момент начала прохода ещё нельзя получить всю длину или её вообще нельзя получить, потому что она постоянно изменяется? Улыбающийся
Записан
Страниц: 1 [2] 3 4 ... 8   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.091 секунд. Запросов: 24.