Название: Поиск в QStringList: элемент найден, как опредилить индекс? Отправлено: vanessa от Апрель 08, 2010, 22:13 Я конечно могу и сам поискать, но зачем, когда есть qFind, вот только меня интересует не сам элемент а его индекс в списке. Можно как-то из итератора вытянуть индекс найденного элемента ? Или я не в ту сторону пошел ?
Название: Re: Поиск в QStringList: элемент найден, как опредилить индекс? Отправлено: MoPDoBoPoT от Апрель 08, 2010, 23:40 Для поиска есть QStringList::indexOf(), QList::indexOf()...
Ну а вообще, чтобы узнать индекс итератора, можно сделать, например, так: Код
Название: Re: Поиск в QStringList: элемент найден, как опредилить индекс? Отправлено: niXman от Апрель 09, 2010, 05:20 MoPDoBoPoT, крайне опасный способ. не со всеми типами итераторов такое прокатит. с вектором прокатит, со списком не факт.
для этого есть "std::distance()", который для разных типов итераторов, использует разные методы для расчета дистанции. Название: Re: Поиск в QStringList: элемент найден, как опредилить индекс? Отправлено: Igors от Апрель 09, 2010, 11:48 Я конечно могу и сам поискать, но зачем, когда есть qFind, вот только меня интересует не сам элемент а его индекс в списке. Можно как-то из итератора вытянуть индекс найденного элемента ? Или я не в ту сторону пошел ? Как вытянуть уже ответили, добавлю: такой поиск дорогостоящий - это просто линейный перебор в неупорядоченном массиве, без разницы ищете ли Вы сами или используете ф-цию. Если надо находить быстро используйте специализированный контейнер напр. QSetНазвание: Re: Поиск в QStringList: элемент найден, как опредилить индекс? Отправлено: MoPDoBoPoT от Апрель 09, 2010, 12:27 MoPDoBoPoT, крайне опасный способ. не со всеми типами итераторов такое прокатит. с вектором прокатит, со списком не факт. Возможно, но этот способ я взял из официальной документации и там на этот счет ничего не сказано. Но все равно буду иметь ввиду, спасибо.для этого есть "std::distance()", который для разных типов итераторов, использует разные методы для расчета дистанции. Название: Re: Поиск в QStringList: элемент найден, как опредилить индекс? Отправлено: vanessa от Апрель 09, 2010, 13:56 Я конечно могу и сам поискать, но зачем, когда есть qFind, вот только меня интересует не сам элемент а его индекс в списке. Можно как-то из итератора вытянуть индекс найденного элемента ? Или я не в ту сторону пошел ? Как вытянуть уже ответили, добавлю: такой поиск дорогостоящий - это просто линейный перебор в неупорядоченном массиве, без разницы ищете ли Вы сами или используете ф-цию. Если надо находить быстро используйте специализированный контейнер напр. QSet |