Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Syveren от Сентябрь 27, 2012, 14:42



Название: сортировка QStringList
Отправлено: Syveren от Сентябрь 27, 2012, 14:42
Если стандарнтый способ хранить сортированный список ключей без значений.
Что-то вроде QSet<QString>, который сортирует как QMap<QString, ...>?


Название: Re: сортировка QStringList
Отправлено: Пантер от Сентябрь 27, 2012, 14:48
Конечно. http://en.cppreference.com/w/cpp/container/set


Название: Re: сортировка QStringList
Отправлено: Syveren от Сентябрь 27, 2012, 15:08
Спасибо, о std::set я и не подумал)

В std::set это получаеться 'по сути перегрузка' operator'a <, а в QSet использует перегрузку operator==.
Если какая-нибудь разница?


Название: Re: сортировка QStringList
Отправлено: Igors от Сентябрь 27, 2012, 16:28
В std::set это получаеться 'по сути перегрузка' operator'a <, а в QSet использует перегрузку operator==.
Если какая-нибудь разница?
QSet сделан на базе QHash, поэтому имеет мало общего с std::set. Вы можете проверить есть ли уже такой ключ в QSet но перебрать все ключи по порядку в QSet нельзя (в std::set можно)


Название: Re: сортировка QStringList
Отправлено: V1KT0P от Сентябрь 27, 2012, 20:50
QSet сделан на базе QHash, поэтому имеет мало общего с std::set. Вы можете проверить есть ли уже такой ключ в QSet но перебрать все ключи по порядку в QSet нельзя (в std::set можно)
Э, а можно по подробней? Как это нельзя по порядку перебрать ключи?
Ведь у QSet есть STL-style итератор:
Код
C++ (Qt)
const_iterator QSet::constBegin () const
const_iterator QSet::constEnd () const
и Java-style итератор:
Код
C++ (Qt)
QSetIterator<T>
Или я не правильно понял?


Название: Re: сортировка QStringList
Отправлено: Пантер от Сентябрь 27, 2012, 20:57
Igors имел ввиду отсортированный порядок.


Название: Re: сортировка QStringList
Отправлено: V1KT0P от Сентябрь 27, 2012, 21:22
Igors имел ввиду отсортированный порядок.
Спасибо, не знал.