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

 
Передача переменной в функцию
** Mxn
  Отправлено: 02.03.2006, 11:50


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







Подскажите пожалуйста как правильно передать переменную или поток из функции 1 в функцию 2 и что б в функции 2 уничтожить переменную или поток ???
olegenty
Отправлено: 02.03.2006, 12:12


Ветеран

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



легко, передать указатель, обёрнутый в auto_ptr (это шаблон интеллектуального указателя с передачей владения).

пример:
CODE

typedef auto_ptr<TMemoryStream> PStream;
void __fastcall StreamKiller(PStream Stream)
{
  ... тут используется указатель, который будет автоматически уничтожен перед выходом из функции
}

PStream Stream(new TMemoryStream);
StreamKiller(Stream);
// -- в этом месте Stream указывает на NULL, а выделенная память была высвобождена в теле StreamKiller

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