0 / 0 / 0
Регистрация: 20.05.2015
Сообщений: 31
1

Как избежать утечки памяти: нюансы использования QList

21.09.2016, 17:38. Показов 852. Ответов 6
Метки нет (Все метки)

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class T
{
QList<bitset<32> > bits;
 
QList<bitset<32> > newList()
{
    return QList<bitset<32> >();
}
 
void foo()
{
    bits = newList();
}
}
Будет ли здесь утечка? или память из старого QList автоматически освободится?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.09.2016, 17:38
Ответы с готовыми решениями:

Как избежать утечки памяти при данном выделении памяти?
Всем привет. В проекте MFC делаю следующие манипуляции MY_STRUCT *ms = new MY_STRUCT();...

Как избежать утечки памяти при добавлении элемента в TSet
Здравствуйте. Подскажите, пожалуйста, как избежать утечки памяти при добавлении элемента в...

Избежать утечки памяти при преобразовании строки в массив символов
Всем привет! Как избежать утечки памяти в таком коде: char* ConvertString(String input) {...

Как избежать утечки через Блутуз?
При поиске программ для Нокиа попалось мне вот такое Как я понял, если даже я выключу Блютуз,...

6
7166 / 6141 / 2802
Регистрация: 14.04.2014
Сообщений: 26,462
21.09.2016, 18:11 2
Ты же не выделял память. Остальное само работает.
Но лучше так не делать, а просто очистить bits.
0
0 / 0 / 0
Регистрация: 20.05.2015
Сообщений: 31
23.09.2016, 13:15  [ТС] 3
А если функция возвращает заполненный лист? поэлементно вставлять в старый?
0
7166 / 6141 / 2802
Регистрация: 14.04.2014
Сообщений: 26,462
23.09.2016, 14:02 4
В твоём примере достаточно в foo() очистить bits, а newList() не нужна.
0
0 / 0 / 0
Регистрация: 20.05.2015
Сообщений: 31
23.09.2016, 14:11  [ТС] 5
ну допустим newList возвращает лист с разными значениями, нужно его запихнуть в bits, а в bits тоже имеется заполненный лист. Можно просто приравнять bits к новому списку из ф-ции newList?
0
Падаван С++
447 / 261 / 89
Регистрация: 11.11.2014
Сообщений: 916
23.09.2016, 14:18 6
pikelson, если существует перегруженное = для копирования то да
0
7166 / 6141 / 2802
Регистрация: 14.04.2014
Сообщений: 26,462
23.09.2016, 16:11 7
Цитата Сообщение от pikelson Посмотреть сообщение
Можно просто приравнять bits к новому списку из ф-ции newList?
Можно, но лучше очистить и добавить новое. Какой смысл внутри класса переприсваивать? Это не оптимально может быть.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.09.2016, 16:11
Помогаю со студенческими работами здесь

А как вы находите утечки памяти?
Люди! А как вы находите утечки памяти в Buildere? AQtime я попробовал, поставил профиль там...

Как проверить утечки памяти?
Люди добрые! Подайте пожалуйста неочень тяжелую (до 3 МВ) тулзу для проверки не теряет ли прога...

Вызов хранимой процедуры в Oracle с параметрами QList<double>, QList<QDateTime>, QList<quint64>
Добрый день, уважаемые форумчане. Необходимо в хранимую процедуру в Oracle передать параметры,...

Утечки памяти в qt приложения как отловить
Использую в программе большой размерности матрицы. Делаю их динамически так quint8 ** Table1;...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru