Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ CPP memory_ordering:: compare_exchange_weak/strong https://www.cyberforum.ru/ cpp/ thread2281398.html
Итак compare_exchange_weak/strong(expected, new_value, success_mem_ordering, failure_mem_ordering) В случае необъявления memory_ordering всё понятно - default. Если объявить seccess memory_ordering...
С++ memory ordering: fetch_sub(acquire) и spinlock на основе atomic_flag (Энтони Вильямс "Мультитрид в действии") C++
Читаю Вильямса по мультитриду. 1) В книге приведён пример класса spinlock на основе atomic_flag: class spinlock_mutex{ std::atomic_flag flag; public: spinlock_mutex():flag(ATOMIC_FLAG_INIT){}...
C++ Как создать очередь потоков с несколькими workers?
-организовать threadpool с очередью и несколькими worker, которые будут выполнять функцию детекции лиц с параметром - именем файла изображения - количество workers должно быть регулируемым,...
C++ Borland C++ 4.5-4.53 есть у кого-то ? САБЖ. Старые версии под DOS & Win_3.11 Если у кого есть, киньте ссылку на мыло(jon@ya.ru) или в скайп: legat79 https://www.cyberforum.ru/ cpp/ thread2280569.html
C++ Энтони Вильямс. Цпп мультитрид в действии::Листинг 3.4::Почему конструктор копирования deleted?! https://www.cyberforum.ru/ cpp/ thread2279411.html
Описывается класс в котором хранится std::stack и std::mutex. Реализация призвана избавиться от проблем с top-pop параллелизмом std::stack-а. Listing 3.4 An outline class definition for a...
C++ Что надо в default для возврата ввода cin >> result?
#include <iostream> using namespace std; int main() { setlocale(0,"Russian"); int a, b, resul; cout << "Введите а i b" << endl;
Как правильно расставить mutex C++
Есть две функции: одна подгружает изображения и заносит их в вектор, вторая - берет изображения из вектора и обрабатывает их с помощью войд функции FindImage. Я разделил приложение на два потока,...
C++ Ошибка при работе с потоками Есть две функции: одна закидывает изображения в вектор, а вторая забирает их оттуда и обрабатывает. Разделил приложение на два потока, хочу чтобы функции работали параллельно, изображения не... https://www.cyberforum.ru/ cpp/ thread2278032.html
C++ Можете скиуть код программы https://www.cyberforum.ru/ cpp/ thread2277926.html
Я увидеть исходный код программы, пользовался многими прогами, но они его не показывали. Кто можете скинуть код?
C++ Использование алгоритмов в multimap Народ, можно ли вообще каким-то образом использовать алгоритмы remove(),remove_if(), fill() с multimap? С вектором я умею их применять, но как их применять с multimap, если он хранит... https://www.cyberforum.ru/ cpp/ thread2277634.html
Эксперт С++
3056 / 1398 / 421
Регистрация: 19.01.2009
Сообщений: 3,763
05.08.2018, 17:55 0

Как получить индекс по значению map

05.08.2018, 17:55. Просмотров 1531. Ответов 1
Метки (Все метки)

Лучший ответ Сообщение было отмечено forprix как решение

Решение

forprix, нужно создать новый мап:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <string>
#include <map>
 
template <typename Key, typename T>
void flip_map(const std::map<Key, T> & source, std::multimap<T, Key> & result) {
    typedef std::map<Key, T> source_type;
    typedef typename source_type::const_iterator source_iterator;
    for (source_iterator i = source.begin(), end = source.end(); i != end; ++i)
        result.insert(std::make_pair((*i).second, (*i).first));
}
 
int main() {
    std::map<std::string, std::string> m {{"123", "A"}, {"321", "B"}, {"234", "C"}, {"235", "C"}};
    std::multimap<std::string, std::string> f;
    flip_map(m, f);
    std::cout << "original:\n";
    for (auto elem : m) std::cout << elem.first << " " << elem.second << "\n";
    std::cout << "flipped:\n";
    for (auto elem : f) std::cout << elem.first << " " << elem.second << "\n";
}


Вернуться к обсуждению:
Как получить индекс по значению map
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.08.2018, 17:55
Готовые ответы и решения:

Получить индекс типа в mpl::map`е
всем привет. есть mpl карта типов(key -&gt; value). нужно получить индекс типа имея только ключ....

Как получить индекс структуры по значению поля
Здравствуйте, нужно удалить или изменить значение записи структуры, но сначала найти удаляемую...

Как получить индекс массива по его присвоенному значению?
Дано: dateId = 1; dateId = 16; dateId = 5; или dateId Как получить x. где dateId равна...

Получить индекс по значению в ListBox
Всем привет! Как реализовать поиск строки (индекса её), с нужным нам текстом, не зная её индекса.

1
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.