|
4 / 4 / 1
Регистрация: 17.12.2015
Сообщений: 119
|
||||||
Правильное освобождение памяти при std::vector17.08.2016, 15:41. Показов 8816. Ответов 46
Метки нет (Все метки)
P.S. мне кажется, то, что сделал я - это очень плохо. Надеюсь, я не прав, и это можно нормально решить)
0
|
||||||
| 17.08.2016, 15:41 | |
|
Ответы с готовыми решениями:
46
Правильное освобождение памяти |
|
2405 / 1935 / 763
Регистрация: 27.07.2012
Сообщений: 5,574
|
|
| 17.08.2016, 17:31 | |
|
1
|
|
|
183 / 181 / 66
Регистрация: 15.02.2015
Сообщений: 515
|
|
| 17.08.2016, 17:31 | |
|
Не, unique_ptr - некопируемый. Вы хоть проверили, то что написали?
Не по теме: ушёл домой, отвечу не скоро
1
|
|
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||||||
| 17.08.2016, 17:40 | |||||||
Вообще для таких дел существуют не std-лисапеты а концепция под названием "списки владения"
1
|
|||||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||
| 17.08.2016, 17:57 | |||
|
если из конструктора вылетит птичка, new сделает откат выделенной памяти. если же успел - теперь это гемморой std::vector. ещё раз: объект построился, теперь это - гемморой std::vector. вектор без вас разберется что ему делать со своим push_back, и своими ресурсами.
1
|
|||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
| 17.08.2016, 18:19 | |
|
1
|
|
|
4 / 4 / 1
Регистрация: 17.12.2015
Сообщений: 119
|
|
| 17.08.2016, 18:32 [ТС] | |
|
Всё таки остановился на unique_ptr. Спасибо всем
0
|
|
|
183 / 181 / 66
Регистрация: 15.02.2015
Сообщений: 515
|
|||||||||||||
| 17.08.2016, 18:34 | |||||||||||||
0
|
|||||||||||||
|
4 / 4 / 1
Регистрация: 17.12.2015
Сообщений: 119
|
||
| 17.08.2016, 18:36 [ТС] | ||
|
0
|
||
|
183 / 181 / 66
Регистрация: 15.02.2015
Сообщений: 515
|
||
| 17.08.2016, 18:37 | ||
![]() И опять не "скопмлится", этот конструктор unique_ptr explicit
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
| 17.08.2016, 18:54 | |
|
0
|
|
|
183 / 181 / 66
Регистрация: 15.02.2015
Сообщений: 515
|
||
| 17.08.2016, 19:00 | ||
push_back, а new Worker(...) - выполняет до). Именно так, указатель на новый Worker "канет в Лету" а вектор останется таким, как и был прежде.
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 17.08.2016, 19:11 | ||
|
ладно. ок. давайте так: попробуйте смоделировать ситуацию с утечкой памяти. может быть тогда до вас допрет, что по вине вектора этого произойти никак не может. и если вы вдруг не в курсе: указатель останется без изменений, если new провалилась. и вся запрошенная под объект память будет благополучно возвращена.
0
|
||
|
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
|
| 17.08.2016, 19:28 | |
|
0
|
|
|
183 / 181 / 66
Регистрация: 15.02.2015
Сообщений: 515
|
||||||||
| 17.08.2016, 20:06 | ||||||||
|
Для справки: этот код Добавлено через 5 минут
0
|
||||||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||
| 17.08.2016, 21:13 | |||
|
поскольку утечки памяти под аллоцируемый объект в принципе случится не сможет. ваши голословные бла бла бла нисколько не интересны. после безуспешной попытки смоделировать ситуацию на практике, мы сможете понять глубину своего заблуждения.
0
|
|||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||||||
| 17.08.2016, 21:18 | |||||||
0
|
|||||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||||
| 17.08.2016, 21:26 | ||||||
|
поскольку утечки памяти под аллоцируемый объект в принципе случится не сможет. ваши голословные бла бла бла нисколько не интересны. после безуспешной попытки смоделировать ситуацию на практике, мы сможете понять глубину своего заблуждения. либо успешно откатит всю операцию взад. у вас в принципе не получится смоделировать ситуацию при которой, память под вставляемый объект утечет. Добавлено через 4 минуты
0
|
||||||
|
1379 / 406 / 144
Регистрация: 22.10.2014
Сообщений: 872
|
|
| 17.08.2016, 21:31 | |
|
0
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
| 17.08.2016, 21:32 | |
|
0
|
|
| 17.08.2016, 21:32 | |
|
Vector string'ов и освобождение памяти Как передать целочисленную матрицу типа std::vector<std::vector<int> > в функцию? Поменять make и release так, чтобы организовать правильное уничтожение объектов и освобождение памяти Представление памяти std::vector std::vector Перераспределение памяти Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу)))
Критические ошибки, мешающие компиляции и. . .
|
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата)
Этот документ предназначен для того, чтобы новый чат Claude мог продолжить
работу без необходимости заново разбираться в. . .
|
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса
Калибровка параметров симбиотической модели: технический обзор
Содержание:
Введение
Постановка проблемы
Технические аспекты реализации
Процесс внедрения изменений
|
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0»
https:/ / ibb. co/ NnkGpfMd
Представленная интегрированная схема описывает непрерывную нелинейную. . .
|
|
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы
### Аннотация
Представлено исследование по разработке агентной модели микоризной. . .
|
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики
Контекст
Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
|
Сукцессия 11. Проверка орудий перед войной: разработка через тестирование
anaschu 27.06.2026
Как не дать модели соврать самой себе: проверки для симуляции микоризной сукцессии
Введение
Когда вы строите математическую модель живой системы — грибов, растений, почвы — главная опасность. . .
|
10 сукцессия. Питон код войны грибов и растений
anaschu 27.06.2026
import numpy as np
class PlantAgent:
def __init__(self, name, strategy, initial_biomass):
self. name = name
self. strategy = strategy # "greedy" (широколиственные) или. . .
|