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

 
Если в параметрах у функции стоит указатель на объ
Евгений
Отправлено: 24.02.2005, 23:41


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







Есть функция следующего вида:
CODE
float func1(int a; TStringGrid *sg)
{тело функции}


После того, как функция выполнила свою роль, что делать с
CODE
TStringGrid *sg
в параметрах функции ? Каким образом от этого избавиться, чтобы не занимало место в памяти ? Или будет удаляться автоматически, как переменная
CODE
int a;
xTrim
Отправлено: 25.02.2005, 05:56


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

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



Да, a и *sg локальные переменные функции func1 и при выходе из нее будут удалены. Объект на который указывает sg конечно не удалиться.
Guest
Отправлено: 10.03.2005, 20:48


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







В принципе можно и в конце функции удалить объэкт(конечно, если он больше не нужен)
delete sg;
sg=0;
Но лучше удалять объект в той области видимости, где он был объявлен и создан.
GIZMO
Отправлено: 11.03.2005, 10:53


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

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



QUOTE (Евгений @ 24/02/2005, 23:41)
Есть функция следующего вида:
CODE
float func1(int a; TStringGrid *sg)
{тело функции}


float func1(int a,/*;*/ TStringGrid *sg)
{тело функции}

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