|
42 / 42 / 17
Регистрация: 25.04.2014
Сообщений: 499
|
|||||||||||
Emplace в std::map. Как добавить элемент в std::map без копирования?27.01.2016, 02:07. Показов 10669. Ответов 21
Метки нет (Все метки)
здравствуйте... есть ли способ не писать так:
пробовал:
0
|
|||||||||||
| 27.01.2016, 02:07 | |
|
Ответы с готовыми решениями:
21
Возможно ли создать контейнер std::map, в котором в качестве значения была бы ссылка на std::map?
|
|
42 / 42 / 17
Регистрация: 25.04.2014
Сообщений: 499
|
|
| 27.01.2016, 02:19 [ТС] | |
|
омг... что-то я тупанул
вроде ж раньше нельзя было вашим способом добавлять
0
|
|
|
Неэпический
|
||||||
| 27.01.2016, 02:23 | ||||||
никакого копирования.
1
|
||||||
|
42 / 42 / 17
Регистрация: 25.04.2014
Сообщений: 499
|
|
| 27.01.2016, 03:01 [ТС] | |
|
Croessmah, а не подскажете через std::invoke как запилить... интересно даже стало, сам не допер пока
0
|
|
|
42 / 42 / 17
Регистрация: 25.04.2014
Сообщений: 499
|
||||||
| 27.01.2016, 04:58 [ТС] | ||||||
|
походу это принципиально нереально, учитывая, что emplace возвращает черти что
Добавлено через 8 минут из-за этого и через bind не получится походу
0
|
||||||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|||||||||||
| 27.01.2016, 10:35 | |||||||||||
|
tapochka, Интересный вопрос. Но дело точно не в том что возвращает emplace. Вот так работает:
Добавлено через 5 минут С invoke все попроще:
2
|
|||||||||||
| 27.01.2016, 10:43 | |
|
0
|
|
|
383 / 281 / 31
Регистрация: 04.09.2009
Сообщений: 1,225
|
|
| 27.01.2016, 11:21 | |
|
Kastaneda, можно подробнее каким образом std::invoke абстрагирует от calling convention?
0
|
|
|
|
|
| 27.01.2016, 11:35 | |
|
gromo, конкретно std::invoke еще не смотрел.
Зачем мы у себя тянули левую библиотеку - у нас генерился ассемблер в рантайме, который потом исполнялся. Целевую платформу не знаем, нужно вызвать ф-цию - как вызвать? Куда аргументы класть? Кто стек почистит? Вот для этого есть готовая обертка в виде библиотеки (забыл как называется). Если std::invoke позволяет делать тоже самое без левой библиотеки, то это круто! Но повторюсь, я не смотрел еще что там внутри, просто кажется, что ее в стандарт добавили не только для того, чтобы вместо f() можно было писать invoke(f), должен быть более глубокий смысл.
1
|
|
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
|||
| 27.01.2016, 12:50 | |||
2
|
|||
| 27.01.2016, 12:51 | |
|
0
|
|
|
42 / 42 / 17
Регистрация: 25.04.2014
Сообщений: 499
|
|
| 27.01.2016, 22:18 [ТС] | |
|
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 28.01.2016, 00:12 | |
|
tapochka, Не знаю что там с VS, на gcc/clang работает. А почему если передать значения в bind не работает - не знаю.
0
|
|
|
|
||
| 28.01.2016, 06:28 | ||
|
0
|
||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 28.01.2016, 08:45 | |
|
Kastaneda, Не работает не в том плане. Даже если передать с std::ref - ошибка компиляции на вызове полученной функции без аргументов.
0
|
|
|
|
||||||
| 28.01.2016, 08:49 | ||||||
|
ForEveR, что-то не догоняю о чем речь. Думал об этом
а, понял, речь об аргументах?
0
|
||||||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
| 28.01.2016, 08:49 | ||||||
|
Kastaneda, Не совсем. Имелось ввиду, что не будет работать так:
0
|
||||||
|
|
|
| 28.01.2016, 09:11 | |
|
ForEveR, сижу под виндой, студия 13 даже рабочий вариант не компилит. Что-то не могу причину понять, странно. В gcc писал такое.
0
|
|
| 28.01.2016, 09:11 | |
|
Помогаю со студенческими работами здесь
20
Стоит ли очищать в деструкторе std::map , std::vecotor? std::map, std::vector и порядок обхода коллекции
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|