Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++
Войти
Регистрация
Восстановить пароль
 
Bretbas
Каждому свое
518 / 204 / 81
Регистрация: 05.08.2013
Сообщений: 1,610
Завершенные тесты: 2
#1

Std::function vs auto Скотт Мэйерс - C++

04.01.2018, 20:33. Просмотров 212. Ответов 3
Метки нет (Все метки)

Доброго времени суток, Господа. Тут перечитывал на досуге Мэйерса, он говорит, что std::function, хранящее замыкание лямбда-выражения, обычно использует больше памяти нежели объект, хранящий то же самое замыкание, только объявленный с помощью auto.
Я так и не понял, почему это происходит? И на сколько больше?
http://www.cyberforum.ru/cpp/thread1230692.html
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.01.2018, 20:33
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Std::function vs auto Скотт Мэйерс (C++):

std::string, std::fstream, ошибка кучи
где то начало вылетать при операции += с локальной переменной std::string....

Как проинициализировать std::stack<const int> obj ( std::stack<int>{} );
добрый день. вопрос в коде: http://rextester.com/VCVVML6656 #include...

std::filesystem && std::asio и пр
Пытался найти хоть какие-то сроки включения всего этого в стандарт (так же...

Ошибка: E2034 Cannot convert 'int' to 'std::vector<std::vector<TRabbitCell,std::allocator<TRabbitCell>>...
Есть двухмерный вектор: std::vector&lt;std::vector&lt;TRabbitCell&gt; &gt; *cells(5,...

Перевод строк std::string, std::wstring в Unicode (String)
Собственно столкнулся с проблемой, как корректно перевести к примеру текст из...

3
S_el
2133 / 1661 / 354
Регистрация: 15.12.2013
Сообщений: 6,593
04.01.2018, 20:47 #2
Bretbas, вот вам пара ссылок для ознакомления:
Overhead with std::function
Efficient Use of Lambda Expressions and std::function

Добавлено через 5 минут
Цитата Сообщение от Bretbas Посмотреть сообщение
И на сколько больше?
Возьмите любимый компилятор и замерьте сами.
1
hoggy
Заблокирован
07.01.2018, 17:48 #3
Лучший ответ Сообщение было отмечено Новичок как решение

Решение

Цитата Сообщение от Bretbas Посмотреть сообщение
почему это происходит?
в первом случае - объект, который держит объект, который держит объект.
во втором случае - объект, который держит объект.
2
Bretbas
Каждому свое
518 / 204 / 81
Регистрация: 05.08.2013
Сообщений: 1,610
Завершенные тесты: 2
07.01.2018, 17:57  [ТС] #4
hoggy, да да, уже разобрался. Спасибо
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.01.2018, 17:57
Привет! Вот еще темы с решениями:

Какая реализация лучше? std::pointer_to_binary_function vs std::function
Какая реализация (set_p или set_f) лучше /современнее / эффективнее ?...

Использование std::function в std::thread
Нужно вызвать function fnc в новом потоке. Как сделать? function...

Std::function and std::vector
Как положить обёртки в вектор? Не используя библиотеку boost....

Некорректно работают функции Auto-Tone, Auto contrast, Auto color
Не корректно работают функции Auto-Tone, Auto contrast, Auto color. Вот пример...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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