Re[8]: Однообразность в STL
От: 1darkangel1 Украина  
Дата: 09.12.04 10:05
Оценка:
Hello, Кодт!
You wrote on Wed, 08 Dec 2004 11:59:31 GMT:

К> Что такое мультимап? Это реляционная таблица с неуникальным ключом.

К> Что значит дополнительная сортировка? Это добавление в таблицу ещё одной
К> колонки с другим неуникальным ключом. Поэтому если задача выборки в
К> разных порядках встаёт часто — заводим структуру из 3 полей: — первичный
К> ключ (ключ мультимапа) — альтернативный ключ
К> — данные (класс Temp)
К> В роли альтернативного ключа могут выступать сами данные или их члены.

К> Для единовременной сортировки — делаем слепок. Замени в моём коде set на

К> multimap, и учти, что элемент мультимапа — это std::pair<const
К> key_type,value_type>. То есть для доступа к значениям, нужно делать не
К> (*it), а (it->second).

Если нельзя использовать стороние библиотеки или компилятор совсем дохлый, то по другому не сделаешь. Но если можно взять boost, то multi_index это очень сильное уменьшение головных болей как писателю так и читателю. Я сам был вынужден делать вышеописанным способом, так как небыло тогда еще этого boost::multi_index в релизе, но доки уже были и я там встретил решение вышеописанной задачи. Так что лучше, если можно, не париться, а сразу взять multi_index и забыть о проблемах.

With best regards, Konstantin Litvinenko. E-mail: darkangel@malva.ua
Posted via RSDN NNTP Server 1.8
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.