|
42 / 42 / 17
Регистрация: 25.04.2014
Сообщений: 499
|
|||||||||||
Emplace в std::map. Как добавить элемент в std::map без копирования?27.01.2016, 02:07. Показов 10765. Ответов 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 и порядок обхода коллекции
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|