powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как удалить из памяти объект
18 сообщений из 18, страница 1 из 1
Как удалить из памяти объект
    #32558197
Пиликалка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
//Вот мы создали объект:
CDaoDatabase cDaoDB;

//Проинициализировали
cDaoDB.Open(DataBasePath);

........


//Вот мы его закрыли
cDaoDB.Close();

А вот как его убить, непонятно ????????
...
Рейтинг: 0 / 0
Как удалить из памяти объект
    #32558269
Sergey D.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автор

хм... а зачем? Ну сделай его равного NULL
...
Рейтинг: 0 / 0
Как удалить из памяти объект
    #32558309
Пиликалка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Скорей всего это он память жрет у меня,
щас попробую NULL приравнять ......
...
Рейтинг: 0 / 0
Как удалить из памяти объект
    #32558326
Пиликалка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет NULL присвоить нельзя

cDaoDB=NULL;


генерится ошибка

error C2582: 'CDaoDatabase' : 'operator =' function is unavailable
...
Рейтинг: 0 / 0
Как удалить из памяти объект
    #32558433
ZrenBy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пиликалка
А вот как его убить, непонятно ????????

Код: plaintext
1.
2.
3.
4.
5.
{
  CDaoDatabase cDaoDB;
  cDaoDB.Open(DataBasePath);
  . . . 
  cDaoDB.Close();
}
...
Рейтинг: 0 / 0
Как удалить из памяти объект
    #32558595
Sergey D.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ты ему сделал Close и хватит с него.

WBR, Sergey
...
Рейтинг: 0 / 0
Как удалить из памяти объект
    #32558646
Пиликалка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня кто то память из этого места гонит,
может хто то другой .... ХМ
...
Рейтинг: 0 / 0
Как удалить из памяти объект
    #32558991
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Пиликалка
--CDaoDatabase cDaoDB;
он же в стеке выделился. его убивать ни в коем случае нельзя руками
...
Рейтинг: 0 / 0
Как удалить из памяти объект
    #32559635
gamych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пиликалка//Вот мы создали объект:
CDaoDatabase cDaoDB;

//Проинициализировали
cDaoDB.Open(DataBasePath);

........


//Вот мы его закрыли
cDaoDB.Close();

А вот как его убить, непонятно ????????

А что, new/delete уже отменили?
...
Рейтинг: 0 / 0
Как удалить из памяти объект
    #32560105
viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странно что без new/delete оно вообще работает....
_________________________________________________
Легче написать не правильную программу чем понять правильную (С) Alan Perlis
...
Рейтинг: 0 / 0
Как удалить из памяти объект
    #32560167
Basilisk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В случае
Код: plaintext
1.
2.
3.
4.
5.
6.
{
  CDaoDatabase cDaoDB;
  cDaoDB.Open(DataBasePath);
  . . . 
  cDaoDB.Close();
}
Удалятся должен авто - по выходу из блока {}

Можно исп new/delete
Код: plaintext
1.
2.
3.
4.
5.
  CDaoDatabase pDaoDB = new CDaoDatabase();
  pDaoDB->Open(DataBasePath);
  . . . 
  pDaoDB->Close();
  delete pDaoDB;
...
Рейтинг: 0 / 0
Как удалить из памяти объект
    #32560302
viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спорить конечно не буду, но я бы не особо полагался на доброго дядю который это уберет.
{
CDaoDatabase cDaoDB;

cDaoDB.Open(DataBasePath);
. . .
cDaoDB.Close();
}

cDaoDB - переменная ссылочного типа, а значит хоть стреляйся для ее была выделена память...
После выхода из блока пропадет переменная, но выделенная память останеться... С++ на то и С++, программист несет ответственность за выделение/освобождение памяти... и делать это желательно в явном виде
Close() не уничтожает объект (MSDN):
Код: plaintext
1.
It is good practice to close these objects yourself before you call this member function. Closing a CDaoDatabase object removes it from the Databases collection in the associated workspace. Because Close does not destroy the CDaoDatabase object, you can reuse the object by opening the same database or a different database.


_________________________________________________
Легче написать не правильную программу чем понять правильную (С) Alan Perlis
...
Рейтинг: 0 / 0
Как удалить из памяти объект
    #32560464
muk07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странная полемика. Если объект создается в программном стеке
{
Object z;
...............
}
то он будет удален автоматически при выходе из блока, в котором он объявлен.
Если он вне какого - либо блока (функции), то он буде существовать всегда.
Если он создается в куче
Object *z= new Object;
то его нужно уничтожить ручками
delete z;
...
Рейтинг: 0 / 0
Как удалить из памяти объект
    #32560526
Basilisk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
viper
viperСпорить конечно не буду, но я бы не особо полагался на доброго дядю который это уберет.
{
CDaoDatabase cDaoDB;

cDaoDB.Open(DataBasePath);
. . .
cDaoDB.Close();
}

cDaoDB - переменная ссылочного типа, а значит хоть стреляйся для ее была
[/src]cDaoDB - переменная типа CDaoDatabase, а вовсе не ссылочного



_________________________________________________
Легче написать не правильную программу чем понять правильную (С) Alan Perlis
...
Рейтинг: 0 / 0
Как удалить из памяти объект
    #32560529
Basilisk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
viperСпорить конечно не буду, но я бы не особо полагался на доброго дядю который это уберет.
{
CDaoDatabase cDaoDB;

cDaoDB.Open(DataBasePath);
. . .
cDaoDB.Close();
}
[/src]cDaoDB - переменная ссылочного типа, а значит хоть стреляйся для ее была

cDaoDB - переменная типа CDaoDatabase, а вовсе не ссылочного
...
Рейтинг: 0 / 0
Как удалить из памяти объект
    #32560622
viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда сорри... временное помутнение разума... С шарпами перепутал.
_________________________________________________
Легче написать не правильную программу чем понять правильную (С) Alan Perlis
...
Рейтинг: 0 / 0
Как удалить из памяти объект
    #32561011
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Парни, я плакаль...

Пиликалка

У вас cDaoDB - локальный объект, находящийся в стеке! Он будет автоматически удален как только выйдет за пределы области действия!
...
Рейтинг: 0 / 0
Как удалить из памяти объект
    #32561377
viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Типичный пример дискусии на ровном месте. Признаю, я ступил. Ну, главное, что истина востановлена. :)
_________________________________________________
Легче написать не правильную программу чем понять правильную (С) Alan Perlis
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как удалить из памяти объект
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]