|
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
|
||||||
Изменение значения захваченной лямбдой переменной22.08.2023, 15:53. Показов 1522. Ответов 29
Метки нет (Все метки)
Здравствуйте,
Подскажите пожалуйста:
Как мне изменить это значение внутри "func" ? Это возможно ? PS: я знаю, что можно захватить переменную по ссылке, но это получится дублирование переменной, то есть придется держать оригинальную переменную и дополнительно ссылку на нее в самой "func" - это не подходит по использованию памяти.
0
|
||||||
| 22.08.2023, 15:53 | |
|
Ответы с готовыми решениями:
29
Изменение значения статической переменной Изменение значения переменной во время исполнения
|
|
Комп_Оратор)
|
||
| 22.08.2023, 20:27 | ||
|
0
|
||
|
1685 / 513 / 107
Регистрация: 17.05.2015
Сообщений: 1,524
|
|||||||||
| 22.08.2023, 20:31 | |||||||||
|
Но вас это почему то не смущает, а по ссылке смущает. Вот так ваше крохоборство выглядит со стороны:
При этом вам ни в кое случае нельзя использовать обычные функции. Ведь они, о боже! будут приводить к дублированию аргументов. А ещё, вы можете осознать, что ваше крохоборство - это полная чушь, и перестать так заморачиваться. Если вам нужна лябмда с захватом, просто возьмите, и сделайте её. Не нужно заниматься пессимизацией.
0
|
|||||||||
|
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
|
|||||||
| 22.08.2023, 20:39 [ТС] | |||||||
0
|
|||||||
|
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
||
| 22.08.2023, 20:44 | ||
![]() У меня на x64 gcc std::function с лямдой, у которой даже два объекта по ссылкам захвачено, будет жрать столько же памяти, сколько и с лямдой без захвата (и аллокаций не будет, хранилище 16 байт).
0
|
||
|
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
|
|
| 22.08.2023, 20:48 [ТС] | |
|
0
|
|
|
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
||
| 22.08.2023, 20:57 | ||
|
0
|
||
|
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
|
|||||||
| 22.08.2023, 21:16 [ТС] | |||||||
|
Очень кратко и условно: есть класс "Здания", который в цикле рендера отрисовывает объект здания. У здания есть условно 50-100 параметров: -Высота -Ширина -Вес -Цвет -Кол-во окон -Цвет крыши ....итд итп По умолчанию все параметры кроме размеров Здания отключены, то есть померенные отвечающие за хранение информации об этих параметрах вообще не должно быть объявлено в классе, так как они будут потреблять место. Ладно если бы нужно было отрисовывать один объект здания - стал бы я парится, но объектов класса зданий может быть хоть 1000 штук, а это уже будет потреблять ощутимое значение памяти. Так же в класс есть условные API-функцции, если пользователь хочет добавить какой то параметр он вызывает соответствующий метод и устанавливает необходимый параметр:
Не знаю насколько понятно обьяснил, но как то так.
0
|
|||||||
|
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
||
| 22.08.2023, 21:23 | ||
![]() Изменить - это удалить старую лямбду и добавить новую. Для идентификации исользовать unoredered_map, вместо списка, например.
1
|
||
|
1685 / 513 / 107
Регистрация: 17.05.2015
Сообщений: 1,524
|
|||||
| 22.08.2023, 21:26 | |||||
|
Даже когда вы просто запускаете лямбду на выполнение: Теперь вы осознаете всю глубину беспощадной реальности? Вы там пытаетесь какую то одну переменную сэкономить, а оказывается, каждая функция, при каждом вызове, так и норовит создать свою собственную копию.
0
|
|||||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|
| 22.08.2023, 21:34 | |
|
Optimus11, - этот персонаж либо клон Некси99 либо из одной семьи ))
0
|
|
| 22.08.2023, 21:34 | |
|
Изменение значения переменной через указатель на нее Изменение значения переменной через заданное время
Изменение значения переменной, название которой находится в текстовой переменной Изменение значения переменной Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация
В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
|
Сукцессия 20. Война автоботов. Делаем ставки. Лёд против "пш-пш!".
anaschu 11.07.2026
Битва ИИ в ризосфере: Как мы скрестили жесткие ОДУ, закон Фика и «подземный шантаж»
Уважаемые коллеги!
Хочу поделиться уникальным опытом ведения междисциплинарной компьютерной разработки. Прямо. . .
|
Сукцессия 19. Какие выводы я сделал из модели? Часть 2.Внутримикоризный стехиометрический буфер и хроно-дискретные зоны экспансии
anaschu 11.07.2026
Био-Инженерный Ликбез: Архитектура Модели Ризосферы
Математический аппарат моделирования
|
Сукцессия 18. Какие выводы я сделал из войны грибов с деревьями? Часть 1- рассказ и немного про термины
anaschu 11.07.2026
Био-Инженерный Ликбез: Архитектура Модели Ризосферы
Математический аппарат моделирования
Система ОДУ описывает динамику изменения массы различных компонентов системы во времени. Ключевой. . .
|
|
Просветление в 5 секунд
kumehtar 10.07.2026
Андрей Веретенников выдал фразу недавно: "Вам не обязательно кем-то себя считать"
|
Эксперимент с картинкой-обложкой на CodinGame
Adler 10.07.2026
Решил на днях провести эксперимент. У меня есть аккаунт на CodinGame, ТОП-3 по РФ среди 2200 участников (в разделе соревнования по программированию ИИ-ботов). Там есть обложка, куда можно влепить. . .
|
GitDOS: Когда я решил скрестить MS-DOS, GitHub и Claude
MaGz GoLd 08.07.2026
Привет, Киберфорум! Хочу поделиться своим проектом, который, надеюсь, вас заинтересует. GitDOS — это веб-приложение, которое позволяет запускать DOS в браузере с тремя крутыми фичами: диски живут в. . .
|
Учебный мини "цифровой двойник" = (Сервер = Java + Flask_питон )+(3D = Гугловскаая 4T nvideo + google colab) +( WMS = Odoo на Docker)
anaschu 07.07.2026
Увидел в требованиях к вакансии создателя имитационных моделей связку (REst + Api + WMS + Anylogic + питон + 3D Nvideo), и решил посмотреть, что это такое. Из этого всего я работал более менее. . .
|