Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » STL и multimap

Ответить
Настройки темы
STL и multimap

Старожил


Сообщения: 163
Благодарности: 0

Профиль | Отправить PM | Цитировать


В STL в multimap`е есть такая функция

value_compare value_comp( ) const;

//Пример...
* multimap <int, int, less<int> *> m1;
* multimap <int, int, less<int> >::value_compare vc1 = m1.value_comp( );

получить эту функцию *я могу, а задать свою не знаю как.

-------
"Сколь бы сложной ни казалась проблема на первый взгляд, она, если правильно к ней подойти, окажется еще более сложной" - Пол Андерсон


Отправлено: 02:53, 31-08-2004

 
pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


а какой смысл имеет less<int>? а если написать
Код: Выделить весь код
struct my_compare : public binary_function<int,int,int> {
   int operator()(int a,int b) {
        cout << "my compare" << endl;
        return std::max(a,b)<100;
   }
};

[s]Исправлено: hasherfrog, 10:17 14-09-2004[/s]

Отправлено: 14:25, 06-09-2004 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Старожил


Сообщения: 163
Благодарности: 0

Профиль | Отправить PM | Цитировать


Эта функция будет сравнивать ключ, а не значение, ассоциированное с ключом. Разве нет?

-------
"Сколь бы сложной ни казалась проблема на первый взгляд, она, если правильно к ней подойти, окажется еще более сложной" - Пол Андерсон


Отправлено: 00:14, 14-09-2004 | #3

pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


Я, честно говоря, сейчас далеко от хелпа нахожусь, поэтому предлагаю эвристический анализ:
Если есть map<class Key, class Value, class CompareKey>, и нет
class CompareValue, тогда скорее всего используется
Value:perator<(...). А если его задать?
Никогда с мультимапом не работал, поэтому не понимаю, зачем он нужен. Когда мне нужно было дерево мапов, я делал так:

Код: Выделить весь код
class assoc_tree;

class assoc_tree : public map<string, auto_ptr<assoc_tree> > {
public:
    void accept(const string* begin, const string* end) {
          if (begin!=end) {
                value_type& v(operator[](*begin).second.get());
                if (!v.second.get()) {
                    v.second.reset(new accos_tree());
                }
                v.second.accept(begin+1, end);
         }
}

Отправлено: 13:51, 05-10-2004 | #4

pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


Кажется я понял вопрос.
*map<class A,class B>::iterator - это pair<A,B>, есть A:perator<().
Значит:
static map<class A,class B>::value_compare(const value& a, const value& b)
{
return !((a.first<b.first) || (b.first<a.first)) && a.second==b.second;
}

Отправлено: 12:43, 18-11-2004 | #5


Старожил


Сообщения: 163
Благодарности: 0

Профиль | Отправить PM | Цитировать


И почему это все тут так плохо стало выглядеть? Не могу нормально прочитать

-------
"Сколь бы сложной ни казалась проблема на первый взгляд, она, если правильно к ней подойти, окажется еще более сложной" - Пол Андерсон


Отправлено: 18:23, 28-11-2004 | #6



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » STL и multimap

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
C/C++ - STL Stack delight Программирование и базы данных 1 10-12-2009 07:37
C/C++ - STL .::.DIMA.::. Программирование и базы данных 3 23-04-2009 08:07
C/C++ - STL работа со стеком alextrs Программирование и базы данных 2 28-04-2008 18:41
heap @ c++ stl pva Программирование и базы данных 10 12-04-2005 15:58
C++Builder4 & C++stl pva Программирование и базы данных 2 12-10-2004 07:32




 
Переход