|
17 / 17 / 5
Регистрация: 19.09.2012
Сообщений: 216
|
|||||||||||
Как освободить память после удаления объекта из вектора08.05.2015, 18:28. Показов 7283. Ответов 68
Метки нет (Все метки)
Всем доброго времени суток. Никак не могу понять как освободить память, после удаления объекта из вектора...
уже как только не пытался удалить элемент из networks, но память все равно не освобождается...
Может примерчик какой или мой поправить
0
|
|||||||||||
| 08.05.2015, 18:28 | |
|
Ответы с готовыми решениями:
68
Как освободить память из-под вектора объектов? Как освободить память после использования SQLite? Как освободить память после закрытия формы |
|
236 / 196 / 21
Регистрация: 04.06.2014
Сообщений: 1,309
|
|
| 16.05.2015, 20:43 | |
|
0
|
|
|
Комп_Оратор)
|
||||||
| 16.05.2015, 22:04 | ||||||
|
hoggy, у меня скомпилировалось с поправками:
Противоречия ссылок в классах этим не исчерпываются. Была тема в которой обсуждались различия аргументов шаблона T& и более конкретного T (&)[/*const int*/] и было весело (мне)). Что касается просто ссылок то в языке предусмотрена возможность объявления ссылок в классе. Переменная инициализируется в конструкторе. Это отличает ссылки в коде от ссылок классах/структурах. В классе ссылка объявляется как тип, а конструкторах инициализируется как псевдоним конкретной переменной. В коде же нельзя объявить и не инициализировать ссылку одновременно. Тут ссылка в классе ведёт себя как указатель. К примеру ещё, Вы можете объявить константную ссылку в классе и инициализировать её простой ссылкой (такой конструктор можно написать запросто) и потом изменить значение через экземпляр будет нельзя, а через внешнюю ссылку можно. И тут она обладает поведением указателя. Но к массивам ссылок это не имеет прямого отношения ведь? Противоречие в дизайне? Оно уже есть и приведенный Вами пример это тоже подтверждает. Массивы ссылок не слишком бы ухудшили эту ситуацию, как таковую. Причина их отсутствия более фундаментальна как я понимаю. Насколько я помню, массивы ссылок (в отличие от ссылок на массивы) объявить нельзя по иной причине. Ссылка как псевдоним требует инициализации в момент объявления в то время как указатель (как и любой нормальный тип) может быть объявлен и инициализирован в двух независимых утверждениях. Выделение памяти в С++ вещь очень быстрая и требуется конструктор по умолчанию T() для создания массива или вектора типа T. Если тип - ссылка то конструктор по умолчанию присвоил бы ей значение намертво и это бессмысленно. Это и не даёт возможности создавать такие вещи.
0
|
||||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||||||
| 16.05.2015, 22:19 | |||||||
|
нет требования в обязательном порядке использовать дефолтные конструкторы. и массивы, и контейнеры обычно всегда можно проинициализировать чем то осмысленным: http://rextester.com/FRBP33258
0
|
|||||||
|
Комп_Оратор)
|
||
| 16.05.2015, 22:30 | ||
|
То что я имел в виду относится именно к "старым и добрым" ссылкам.
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 16.05.2015, 22:33 | ||
|
и проинициализировать их объектами. остальной текст не распарсил.
0
|
||
|
Комп_Оратор)
|
|||
| 16.05.2015, 23:00 | |||
|
2. Можно было бы? Это написать другие компиляторы? hoggy, Ваше выступление: Как освободить память после удаления объекта из вектора о ссылке на массив не имеет отношения к массивам ссылок и теме.
0
|
|||
|
236 / 196 / 21
Регистрация: 04.06.2014
Сообщений: 1,309
|
|||
| 17.05.2015, 14:37 | |||
|
Добавлено через 52 минуты .
1
|
|||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 17.05.2015, 15:03 | ||
|
мне лениво опять подымать этот баян. даже на этом форуме можно глянуть расшифровки ассемблера от господина DiffEreD, которые иллюстрируют этот момент. считайте, что в отношении ссылок по умолчанию задействована политика __forceinline (cl вижал студии) или __forceinline="__attribute__((always_inl ine))" (gcc и ему подобные)
0
|
||
|
236 / 196 / 21
Регистрация: 04.06.2014
Сообщений: 1,309
|
||
| 17.05.2015, 18:32 | ||
|
0
|
||
| 17.05.2015, 18:32 | |
|
Как освободить память (ресурс) после его использования Освободить память вектора векторов без swap
Как правильно освободить память после работы с динамическим массивом Освободить оперативную память, после удаление формы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|