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

Здравствуйте возник вопрос map<string,map<string,vector<string>>> так шаманить можно?

24 ответов

4 просмотра

никто не может запретить

Можно.

Можно, но нужно ли под вашу задачу - большой вопрос.

Когда Вы делаете Мап<стринг, Вектор<стринг>> Вы точно уверены что Вам нужен именно Мап, а не Сет?

Можно конечно, но тогда стоит сразу отложить деньги на ритуальные услуги

Int Unsigned
Когда Вы делаете Мап<стринг, Вектор<стринг>> Вы т...

А как std::set<T> поможет замeнить std::map<std::string, std::vector<std::string>>?

Денис-Моисеев🚀🛸 Автор вопроса
Денис Моисеев🚀🛸
я пока типо не знаю о сетах

Разница между Сет и Мап - это очень просто. Сет - это контейнер объектов у которых ключ внутри. Типа Person{ .Name, ...}; .Name - это ключ внутри объекта и для такого контейнера достаточно Сет. Мап - это контейнер объектов ключ для которых задаётся извне. Типа тот же Person{}, но ключ для него ГУИД. Внутри этого Person{} никакого ГУИД нету, но мы делаем контейнер Мап<ГУИД, Персон} Андерстенд?

Денис-Моисеев🚀🛸 Автор вопроса
Int Unsigned
Разница между Сет и Мап - это очень просто. Сет - ...

Андерстент я знаю что такое сет ) просто задачу надо мапой по условию 😅

Денис Моисеев🚀🛸
Андерстент я знаю что такое сет ) просто задачу на...

Тогда, если ключ типа strnig .Name внутри элемента, и напрашивается Сет, но по какой+то причине от тебя требуется Мап, то.. Мап<reference_wrspper<string>, Person>

Денис-Моисеев🚀🛸 Автор вопроса
Alexey Petrunyaka
И везде у ключей нужна сортировка?

Да все задачку решил и мои вариант был ошибочный можно было легче. Напряг головушку

Денис Моисеев🚀🛸
все обошлось)

Хоронить не будут, просто кремируют?

Int Unsigned
Разница между Сет и Мап - это очень просто. Сет - ...

Кстати Сет это вроде как мап в реализации но просто значение равно ключу.

Polina 💓
Кстати Сет это вроде как мап в реализации но прос...

Не совсем. Чтобы построить Сет Вы передаёте ему просто компаратор Ваших объектов и для ключа Сет отдельно память не выделяет - все необходимое есть в самом объекте. Мап же отдельно выделяет память для ключа - у Мап ключ не в полях объекта, а снаружи. Фактически Мап - это Сет для пары Ключ+Объект. Я заостряю на этом внимание потому что нередкая ошибка строить Мап<Name, Person{.Name,...}> В этом случае Мап послушно ещё раз выделит память для ключа .Name, хотя он уже и так в объекте присутствует. Тут нужен Сет.

Int Unsigned
Не совсем. Чтобы построить Сет Вы передаёте ему пр...

Не совсем понял что за компаратор я передаю в конструктор сета.

Polina 💓
Не совсем понял что за компаратор я передаю в конс...

Сет это контейнер, который сортирует элементы. Чтобы их сортировать нужно уметь сравнивать объекты. Компаратор(дословно сравниватель) знает как это делать

Polina 💓
Не совсем понял что за компаратор я передаю в конс...

struct Person{ string Name; ... }; auto compare_less = [](const Person& a, const Person& b) -> bool{ return a.compare(b) <0; };

Int Unsigned
struct Person{ string Name; ... }; auto comp...

Оберните код в теги: 3 символа ` до и после кода (в случае одиночной конструкции достаточно 1 ` с обеих сторон). Спасибо!

Int Unsigned
struct Person{ string Name; ... }; auto comp...

Всё ещё неправильно :( Оберните код в теги: 3 символа ` до и после кода (в случае одиночной конструкции достаточно 1 ` с обеих сторон). Спасибо!

V 👨🏻‍💻
либо же выбрать весь текст -> Ctrl + Shift + M

От моей Нокии коньрол ещё в начале 2000-х отвалился...

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

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

Вопрос по диагностике ошибок (я знаю в чем, в данном конкретном примере, я знаю, как исправить, пример модельный, понятно, что в реальности бывает намного запутаннее). 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
12
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
Карта сайта