Форум программистов, компьютерный форум CyberForum.ru

STL функторы, предикаты - C++

Восстановить пароль Регистрация
 
razor_ua
10 / 10 / 0
Регистрация: 20.05.2011
Сообщений: 71
20.12.2013, 12:43     STL функторы, предикаты #1
У нас есть:

C++
1
std::multimap<std::string,std::string>  map;
нужно удалить все повторяющиеся ключи, используя алгоритм с предикатом.

Есть функтор , который вернет true, если ключ совпал с передаваемым параметром(параметр один - строка).
Я не знаю как его правильно реализовать

C++
1
2
3
4
5
6
7
8
9
10
11
12
class WordsThatBeginWith 
{ 
    std::pair<std::string,std::string> dict;
public: 
   // WordsThatBeginWith(std::pair<std::string,std::string> d) : dict(d)
   // { }
 
    bool operator()(std::string a) const 
    { 
        return dict.first == a; 
    } 
};
а потом нам нужно удалить ВСЕ повторяющиеся элементы (было "а б в в а", станет "б" )
C++
1
dic.erase(std::unique(dic.begin(), dic.end(), WordsThatBeginWith("a")),dic.end());
в этой строке тоже что-то не так (
Прошу помощи, плз!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2013, 12:43     STL функторы, предикаты
Посмотрите здесь:

C++ Функторы и алгоритмы stl
C++ Стандартные функторы-адаптеры
STL, функторы C++
Предикаты в STL C++
функторы && STL C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,399
20.12.2013, 12:46     STL функторы, предикаты #2
А если просто загнать в мап и все само собой отсеется?
Tulosba
:)
Эксперт C++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
20.12.2013, 12:54     STL функторы, предикаты #3
razor_ua, std::unique удаляет только смежные совпадения. А вообще, зачем строить себе проблемы, прислушайтесь к совету MrGluck.
razor_ua
10 / 10 / 0
Регистрация: 20.05.2011
Сообщений: 71
20.12.2013, 15:15  [ТС]     STL функторы, предикаты #4
не спорю...
задание именно такое...
нужно разобраться с мультимапой...
Yandex
Объявления
20.12.2013, 15:15     STL функторы, предикаты
Ответ Создать тему
Опции темы

Текущее время: 01:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru