C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Уничтожение переменных
** mxn
  Отправлено: 31.01.2006, 13:04


Не зарегистрирован







Подскажите пожалуйста, если, к примеру есть некая функция

void __fastcall TForm1::TestClick(TObject *Sender)
{
AnsiString Test;
....
}

в ней объявлена переменная типа AnsiString. Допустим она содержит большой объем данных. Должен ли я ее удалять или она удаляется сама после отработки функции? И как можно удалить переменную типа AnsiString ?
BreakPointMAN
Отправлено: 31.01.2006, 13:15


Станционный диспетчер

Группа: Участник
Сообщений: 86



В данном случае переменная Test является локальной для твоей функции, и время ее существования заканчивается с выходом из функции...
gvg
Отправлено: 31.01.2006, 13:36


Машинист паровоза

Группа: Участник
Сообщений: 222



А вообще, удалять нужно то, что создано вами динамически с помощью оператора new. Если бы

AnsiString *Test = new AnsiString();

тогда где-то должно было быть

delete Test;
olegenty
Отправлено: 31.01.2006, 13:39


Ветеран

Группа: Модератор
Сообщений: 2412



созданные динамически объекты зачастую удобно обернуть в auto_ptr.

Вернуться в Вопросы программирования в C++Builder