170 похожих чатов

У мкня есть map <int , string> можно ли удалить

элементы значение которых равны и как это сделать?

9 ответов

4 просмотра

то есть у разных ключей int могут быть одинаковые значения? а по какому в этом случае из двух ключей удалять?

std::map<int, std::string> m { {1, "test"}, {2, "test"}, {3, "test"}, }; std::unordered_set<std::string_view> s; for(auto it = m.begin(); it != m.end(); ) { auto&& value = it->second; auto[_, inserted] = s.insert(value); if( !inserted ) { it = m.erase(it); } else { ++it; } } for(auto&&[key, value] : m) { std::cout << key << "->" << value << std::endl; }

Mikhail Kornaukhov
А какой смысл у auto&&?

это универсальная ссылка: int lvalue = 10; auto&& r1 = lvalue; // auto&& превратится в int& auto&& r2 = 10; // auto&& превратится в int&&

Денис-Моисеев🚀🛸 Автор вопроса
Anatoly Shirokov
std::map<int, std::string> m { {1, "te...

спасибо большое, буду разбираться

Похожие вопросы

Обсуждают сегодня

Вопрос по диагностике ошибок (я знаю в чем, в данном конкретном примере, я знаю, как исправить, пример модельный, понятно, что в реальности бывает намного запутаннее). module...
ⰄⰎⰋⰐⰐⰑⰛⰤⰧⰧⰩⰄ ⰊⰑⰁⰓⰡⰛⰦⰕⰫ
10
Тут кста кто-нибудь NeoVim использует?
Simple Sorcerer
13
А чем вам питонисты не угодили?😂
.
79
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
52
А дальше что?.. Записать в файл, потом в Код?.. И потом разбирать как-то?..
Хаскель Моисеевич Гопник
14
доброго времени. db, dw и прочие исполняются при трансляции или при выполнении программы?
lutayyy
10
Почему никто не подсказал, что можно объявить свои типы данных, в которых меньше полей, чем в отданном джейсоне, и добавлять их по необходимости?
Strange Rabbit
10
Хтось використовував Vapor на Windows?
Jaroshevskii
15
type TObj = object procedure Init; virtual; end; TObj1 = object(TObj) procedure Init; override; end; procedure TObj1.Init; begin inherited; end; procedur...
Alexander 👋
29
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
86
Карта сайта