|
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,549
|
|||
Когда выделять память08.10.2020, 18:18. Показов 15651. Ответов 201
Метки динамическая память (Все метки)
вот завис в моём понимании этот пункт:
когда выделять поток - в принципе поняла, когда выделять класс - в принципе поняла (чтобы разорвать зависимости) КОГДА выделять память?.. - всё-таки ещё не всегда очень хочется её выделять, чтобы потом удалять... но даже не в этом суть... а смысл первой цитаты? поделитесь please опытом кто-нибудь - когда вы выбираете создать объект на стеке, а когда вы выбираете создать объект в куче?. - какие есть предпосылки для вашего выбора? не хочу потом всё переделывать - а мне всё равно кажется, что на стеке всегда быстрее, а когда и почему лучше куча не знаю... а то ведь могу написать что попало...логично, что на стеке - определена последрвательность, но ведь при обращении к разным объектам проблем вроде не бывает... имхо... и понятно, что через стек идут параметры функций - так что получается, всё остальное, т.е. вообще всё лучше располагать в куче? какую проблему можно получить, если всё располагать на стеке? и в каком случае вообще app не запуститься при таком подходе (есть ли такая опасность)?.. есть ли какие-то критерии "must do"? и никак иначе
0
|
|||
| 08.10.2020, 18:18 | |
|
Ответы с готовыми решениями:
201
Как лучше выделять память: динамичски или в стэке?
Как динамически выделять память на один элемент массива? |
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
|
| 09.10.2020, 10:21 | |
|
0
|
|
|
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,549
|
||
| 09.10.2020, 10:44 [ТС] | ||
|
т.е. по вашему линку надо изучить, как всё по логике... а если её нарушить - то будут косяки со временем жизни - пока беглым взглядом, вижу так... (пока решаю др sub-задачу практически - скоро дойду до кучи - ? вот кстати объект класса WorkerThread - ГДЕ лучше создать - на стеке или на куче ?? - если таких инстансов планируется подрядить несколько - ведь если большой - то лучше на куче??)
0
|
||
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
||
| 09.10.2020, 10:51 | ||
|
0
|
||
|
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,549
|
|
| 09.10.2020, 11:01 [ТС] | |
|
0
|
|
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
| 09.10.2020, 11:02 | |
|
0
|
|
|
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,549
|
||
| 09.10.2020, 11:23 [ТС] | ||
|
тоже извините
не сразу сама поправила... думаю пока о другом - ... конечно, с разными функциями - ведь можно в фоне выполнять что угодно Добавлено через 8 минут вообще - идея наверно глупая - плодить много сущностей... оставлю инициализацию thread(s) в myGUI, а потом просто move его (их) каждого в thread_guard - чтобы время жизни обоих не противоречило логике их жизненного цикла... имхо
0
|
||
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
||
| 09.10.2020, 11:25 | ||
Сообщение было отмечено JeyCi как решение
РешениеНе забывай, что у объектов-на-стеке короткое время жизни и они удаляются автоматически. Соответственно, предавать ссылки на такие объекты в поток надо очень аккуратно. Внутри же функции потока можешь создавать на стеке (но, помнить о размере).
1
|
||
|
Комп_Оратор)
|
|||
| 09.10.2020, 11:27 | |||
|
0
|
|||
|
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,549
|
||
| 09.10.2020, 11:34 [ТС] | ||
|
0
|
||
|
Комп_Оратор)
|
||
| 09.10.2020, 11:43 | ||
|
И ещё. Любой код для себя, это библиотека для себя. Если в коде больше пары сотен строк, - через год он становится "сторонней библиотекой", когда смотришь и спрашиваешь себя,- "кто это писал?". Но если оно организованно, более-менее прилично, то это очень дружественный жест по отношению к тому, кто смотрит из зеркала. JeyCi, зачем я вас убеждаю? Уже просто и не знаю. Мне всё больше и больше кажется что вам, конкретно, можно и не выделять память. Контейнеров (со стандартным аллокатором) и смартпойнтеров - хватает? Ну и ладно.
0
|
||
|
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,549
|
||
| 09.10.2020, 11:51 [ТС] | ||
что мне сейчас нужен не API, а прикладное по (чуть шире, чем утилита) - что если что-то уже есть во Фреймворке в приемлемом виде, - то я не буду тратить время на разработку того, что есть, когда список (под-)задач шире... принимаю на заметку все советы, выстраиваю свой путь знакомства с языком - без отрыва от текущих задач... спасибо за советы
0
|
||
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
||
| 09.10.2020, 12:15 | ||
|
1
|
||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
|||
| 09.10.2020, 12:23 | |||
|
Добавлено через 3 минуты Добавлено через 2 минуты
1
|
|||
|
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,549
|
||||||
| 09.10.2020, 19:35 [ТС] | ||||||
при выходе из scope'a... включая время жизни локальных и др. переменных и констант этого класса...вообще логично - а то вдруг захочу весь этот(эти) поток(и) не в GUI выводить, а перекроить на консольный вывод... убедили - если будет разрастаться из утилиты вширь...а пока живёт в myAppWindow - и scope_guard не нужен... Добавлено через 31 минуту storage duration vs lifetime
Добавлено через 4 часа 56 минут Умные указатели Сырые указатели и Умные указатели Как “научить” Указатель определять, что сам Объект уже удален? Добавлено через 3 минуты и лезть на более низкий уровень тем более...Добавлено через 35 минут и про права владения (это как раз и есть этот new - логично: кто создатель, там и деструктор) - пример: Передача указателя в класс на объект другого класса
0
|
||||||
|
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,549
|
||
| 13.10.2020, 11:17 [ТС] | ||
|
вот что, действительно порадовало!
reinterpret_cast(&block) % alignof(Avx_block); и вряд ли будет мной использоваться...но всё-таки возник вопрос на уточнение - ? выделяя new для каких-нибудь structure или user-defined class objects - обязана ли я делать это выравнивание в принципе ?? или всё уже учтено как-то в моих user-defned классах?... наверно, всё-таки учтено...
0
|
||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
|||
| 13.10.2020, 12:01 | |||
|
Выравнивание выполняется автоматически на адекватную на текущей архитектуре\системе величину. Влезать в это нужно только если вам нужно получить отличное от принятого по умолчанию значение выравнивания. Добавлено через 4 минуты Она всегда отдает правильно выровненную память для дефолтного значения выравнивания системы.
1
|
|||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
||
| 13.10.2020, 12:06 | ||
|
1
|
||
| 13.10.2020, 12:06 | |
|
Подскажите пожалуйста, правильно выделять память под lua состояние
Можно ли, используя make_shared<T> выделять память под массивы, по аналогии с функцией make_unique<T>?
Можно ли выделять память под объект класса с помощью функций calloc, malloc или realloc? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия 30. Фосфорный и азотный замки по "честному" закону лимитирования Либиха
anaschu 16.07.2026
Основные достижения за последние дни
1. Механизм отложенного высвобождения фосфора
Добавлен специальный пул для медленного разложения меланизированных гиф ЕСМ
Реализована разная скорость. . .
|
Запрет пометки на удаление и отмены проведения
Maks 16.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "ПутевойЛист" разработанного в КА2.
Задача: запретить помечать на удаление и отменять проведения путевого листа при условии, если он сдан. . .
|
Как надо было делать правильно - вообще не слушать ИИ, его дело - текст.
Hrethgir 15.07.2026
А вообще надо было делать не так, чтобы не исправлять ошибку https:/ / www. cyberforum. ru/ blogs/ 223907/ 10996. html , правильно было : удалил кнопку, а потом добавил её.
Всё это стресс конечно. Почему?. . .
|
Знаете, от чего появляется стресс?
kumehtar 15.07.2026
Стресс появляется оттого, что вы, зная как поступить правильно, делаете наоборот.
Ларри Уингет
|
|
Нас бьют, а мы крепчаем? Какая чушь!
kumehtar 15.07.2026
Вот это вот бытующее мнение, что человек меняется только под действием проблем, всегда считал вредоносным. Поверь, от проблем у людей появляются не изменения, а нервное расстройство и ПТСР. А. . .
|
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров
В текущей версии модели успешно реализован ключевой механизм. . .
|
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям
Реализованные компоненты:
Механизм закисления почвы через протонную помпу
Конкуренция между типами микориз
pH как триггер сукцессии
C/ P соотношение. . .
|
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
|