Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как заставить символ двигаться по консоли? http://www.cyberforum.ru/cpp-beginners/thread1648509.html
Приветствую всех! Есть листинг программы, цель её - заставить символ "|" двигаться вправо при нажатии "D" или "d". Но я не пойму логику в отдельных моментах. Подскажите, пож-та, что и как тут....
C++ Разработать, написать и отладить программу, удовлетворяющую перечисленным ниже требованиям Разработать, написать и отладить программу, удовлетворяющую перечисленным ниже требованиям. С++ Visual Studio Очень срочно Нужен только текст программы http://www.cyberforum.ru/cpp-beginners/thread1648491.html
C++ Использование конструктора с параметром istream
Данное упражнение с книжки Липпмана. Нужно добавить в класс конструктор с параметром istream, а потом в программе конструктор с данным параеметром Sales_data(std::istream &); //добавление...
C++ Где найти описание и примеры работы с библиотеками Flex и Bison?
Подскажите,где можно найти описание Flex и Bison C++. Желательно,чтобы был пример еще.
C++ Переименование группы файлов по шаблону http://www.cyberforum.ru/cpp-beginners/thread1648462.html
Народ, создаю отдельную тему, т.к. вопрос изменился, и если кто то из новичков сталкнется с такой же проблемой и вопросом, как я, дабы проще было найти нужную инфу. В общем так, я писал ранее про...
C++ Не отображается результат в консоли Что не так ? Использую MSVS15 #include <iostream> using namespace std; int main() { const int ARRAY_LEN = 5; int MyNumbers = { -55, 35, 9889, 0, 45 }; подробнее
ForEveR
В астрале
Эксперт С++
7997 / 4755 / 652
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
27.01.2016, 10:35 0

Emplace в std::map. Как добавить элемент в std::map без копирования?

27.01.2016, 10:35. Просмотров 1847. Ответов 21
Метки (Все метки)

Ответ

tapochka, Интересный вопрос. Но дело точно не в том что возвращает emplace. Вот так работает:
C++
1
2
3
   std::map<int, int> map;
   auto f = std::bind(&std::map<int, int>::emplace<int, int>, std::ref(map), std::placeholders::_1, std::placeholders::_2);
   f(1, 2);
Если же передать прям значения в bind - работать не будет. Тоже самое с vector::emplace_back.

Добавлено через 5 минут
С invoke все попроще:
C++
1
std::invoke(&std::map<int, int>::emplace<int, int>, std::ref(map), 1, 2);


Вернуться к обсуждению:
Emplace в std::map. Как добавить элемент в std::map без копирования?
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.01.2016, 10:35

std::map find. Получить ключ(элемент) и как записать все данные при объявлений?
Вопрос первый: как получить ключ контейнера map по данным? например: // id,...

Как формируется размер std::map?
ожидал увидеть размер 18. По 5 байт на две строки и по 4 байта на два int-а....

Как реализован .end() std::map?
Как реализован .end() std::map? Не понимаю, какая у него реализация. Либо он...

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