Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
vbloodv
22 / 22 / 0
Регистрация: 15.12.2012
Сообщений: 314
#1

Я создаю утечки памяти ! - C++

07.02.2014, 16:19. Просмотров 318. Ответов 2
Метки нет (Все метки)

Не по теме:

Нет, я не хочу похвастаться этим.
Я любитель использовать быстрые решение для того чтобы реализовать алгоритм или проверить "чтобы работало", но как известно нет ничего более вечного, чем временное...
... время идет, а код остается


Образец:
C++
1
2
3
4
5
6
HTEXTURE tex;
tex = hge->Load_Texture("texture.png");
hgeSprite* sprite = new hgeSprite(tex,0,0,50,50);
sprite->Render(); //Play
delete sprite;
hge->Texture_Free(&tex);
Мой код:
C++
1
2
3
4
typedef boost::shared_ptr<hgeSprite> SpriteShared;
SpriteShared sprite;
sprite.reset(new hgeSprite(hge->Load_Texture("texture.png"),0,0,50,50);
sprite.Render(); // Play
Похоже что я просто кладезень утечек памяти или boost сможет за ней уследить?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.02.2014, 16:19     Я создаю утечки памяти !
Посмотрите здесь:

Утечки памяти - C++
Здравствуйте, уважаемые господа. Недавно заметил через диспетчер задач, что в моей программе присутствуют утечки памяти. Кол-во...

Не будет ли утечки памяти? - C++
Привет. Мне нужно очистить строку (массив символов) char str; делаю так str = '\0'; не будет ли это утечкой? P. S. думаю нет,...

Утечки памяти и STL - C++
Имеется код: #include &lt;map&gt; #define _CRTDBG_MAP_ALLOC #include &lt;stdlib.h&gt; #include &lt;crtdbg.h&gt; using namespace...

Поиск утечки памяти - C++
Здравствуйте! Не могли бы вы помочь мне найти утечку памяти в программе? Весь день искал, все вроде бы удаляется, но 4 мб все равно...

Про утечки памяти - C++
Здравствуйте. Может кто-нибудь посоветовать статьи на тему борьбы с утечками памяти? Дело в том, что недавно начал писать на C++ с...

Определение утечки памяти - C++
Здравствуйте! Имеется такая ситуации: к проекту подключается lib файл и создается класс наследуемый класс определенный в либе. Подскажите...

утечки памяти - просто жесть - C++
analysis *SP; // объявляем классы SP = new analysis(Edit1-&gt;Text); //загружаем данные SP = new analysis(Edit2-&gt;Text); //загружаем данные...

Объяснить причины и способы устранения утечки памяти в деструкторе - C++
Почему если убрать коммент с деструктора, что закомментирован выбивает ошибка: &quot;утечка памяти&quot;? #include &quot;cow.h&quot; int main() { Cow...

подскажите пожалуйста, правильно ли сделанна конструкция, и не будет ли утечки памяти - C++
vector&lt;int*&gt; mas; int* buf; for(int i=0;i&lt;10;i++) { buf=new int; mas.push_back(buf); } delete buf; for(int...

Утечки памяти при использовании new/delete для двумерных массивов - C++
Добрый день. Суть в том, что есть несколько функций, получающих на вход и возвращающих двумерные массивы. Реализация передачи массивов...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
13051 / 7314 / 814
Регистрация: 27.09.2012
Сообщений: 18,051
Записей в блоге: 3
Завершенные тесты: 1
07.02.2014, 17:12     Я создаю утечки памяти ! #2
В Вашем примере отсутствует
C++
1
hge->Texture_Free(&tex);//<---
vbloodv
22 / 22 / 0
Регистрация: 15.12.2012
Сообщений: 314
07.02.2014, 23:49  [ТС]     Я создаю утечки памяти ! #3
Croessmah, Знаю, если HTEXTURE гдя H я подозреваю handle, то мне надо через фукнцию очистить ресурс с DWORD номером который внутри его указан?

Добавлено через 2 часа 48 минут
Croessmah,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include "developer.h"
 
extern HGE* hge;
 
void DevelopClick(Image * img)   { if (img->IsHover()) system("start http://brainstorage.me"); }
void DeveloperHover(Image * img) { img->ChangeTexture(hge->Texture_Load("img/dev_vbv2.png")); }
void DeveloperLeave(Image * img) { img->ChangeTexture(hge->Texture_Load("img/dev_vbv.png")); }
 
void DeveloperScene::Initialize()
{
    developer.reset(new Image("vbv", 0, 0));
    developer->AddEventHandlerForClick(DevelopClick);
    developer->AddEventHandlerForHover(DeveloperHover);
    developer->AddEventHandlerForLeave(DeveloperLeave);
    to_menu_btn.reset(new ToMenuButton("quit",600,300));
}
 
int DeveloperScene::Update()
{
    developer->Update();
    return to_menu_btn->Update(DEVSCENE);
}
 
void DeveloperScene::Render()
{
    developer->Render();
    to_menu_btn->Render();
}
 
void DeveloperScene::Release()
{
    developer.reset();
    to_menu_btn.reset();
}
Что можно сделать с такими калбэками?

Добавлено через 2 минуты
develop & to_menu_btn boost::shared_ptr
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru