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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
razor_ua
10 / 10 / 0
Регистрация: 20.05.2011
Сообщений: 71
#1

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

20.12.2013, 12:43. Просмотров 622. Ответов 3
Метки нет (Все метки)

У нас есть:

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++
C++ Магический квадрат, предикаты
C++ Функторы, алгоритмы и адаптеры
C++ Шаблоны и функторы как callback для класса свойства объекта. Код работает - но не должен
Предикаты STL C++
структуры, предикаты C++
Предикаты в функторах, нужно пояснение C++
C++ Функторы

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт CЭксперт С++
 Аватар для MrGluck
6228 / 3473 / 425
Регистрация: 29.11.2010
Сообщений: 9,178
20.12.2013, 12:46     STL функторы, предикаты #2
А если просто загнать в мап и все само собой отсеется?
Tulosba
:)
Эксперт С++
4384 / 3227 / 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 функторы, предикаты
Ответ Создать тему
Опции темы

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