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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: сортировка QStringList  (Прочитано 5631 раз)
Syveren
Гость
« : Сентябрь 27, 2012, 14:42 »

Если стандарнтый способ хранить сортированный список ключей без значений.
Что-то вроде QSet<QString>, который сортирует как QMap<QString, ...>?
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Сентябрь 27, 2012, 14:48 »

Конечно. http://en.cppreference.com/w/cpp/container/set
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Syveren
Гость
« Ответ #2 : Сентябрь 27, 2012, 15:08 »

Спасибо, о std::set я и не подумал)

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

Сообщений: 11445


Просмотр профиля
« Ответ #3 : Сентябрь 27, 2012, 16:28 »

В std::set это получаеться 'по сути перегрузка' operator'a <, а в QSet использует перегрузку operator==.
Если какая-нибудь разница?
QSet сделан на базе QHash, поэтому имеет мало общего с std::set. Вы можете проверить есть ли уже такой ключ в QSet но перебрать все ключи по порядку в QSet нельзя (в std::set можно)
Записан
V1KT0P
Гость
« Ответ #4 : Сентябрь 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>
Или я не правильно понял?
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #5 : Сентябрь 27, 2012, 20:57 »

Igors имел ввиду отсортированный порядок.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
V1KT0P
Гость
« Ответ #6 : Сентябрь 27, 2012, 21:22 »

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


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