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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QMutableIterator peekPrevious  (Прочитано 2342 раз)
deMax
Хакер
*****
Offline Offline

Сообщений: 600



Просмотр профиля
« : Июнь 08, 2016, 09:12 »

Как получить предыдущий элемент? Qt5.6

Код:
    QStringList sl = QString("1,2,3,4,5,6").split(',');
    QMutableListIterator<QString> i(sl);
    while(i.hasNext()) {
        QString s = i.next();
        if(i.hasPrevious()) qDebug()<<i.peekPrevious();
        qDebug()<<s<<i.value();
        if(i.hasNext()) qDebug()<<i.peekNext();
        qDebug()<<"---"; }

Выводит что то странное(peekPrevious эквивалентен value):
Цитировать
"1"
"1" "1"
"2"
---
"2"
"2" "2"
"3"
---
"3"
"3" "3"
---
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #1 : Июнь 08, 2016, 10:18 »

Выводит что то странное(peekPrevious эквивалентен value):
Не совсем, напр
Код
C++ (Qt)
i.toBack();
if (i.hasPrevious())
 qDebug() << i.peekPrevious();
 
qDebug() << i.value(); // crash
 

[off]
Как получить..
Ну да, "сразу к делу", зачем тратиться на что-то типа "здрасьте"?  Улыбающийся
[/off]
Записан
deMax
Хакер
*****
Offline Offline

Сообщений: 600



Просмотр профиля
« Ответ #2 : Июнь 08, 2016, 12:54 »

>>Ну да, "сразу к делу", зачем тратиться на что-то типа "здрасьте"?
Цитировать
QMutableListIterator::QMutableListIterator(QList<T> &list)
Constructs an iterator for traversing list. The iterator is set to be at the front of the list (before the first item).

Странная штука, проход назад отрабатывает корректно, проход вперед возвращает текущее значение Непонимающий
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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