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