→ Для вступления в общество новичков и профессионалов программирования, пожалуйста нажмите здесь ...

Форум программистов: C++, Basic, Delphi, Pascal, JavaScript
Логин: Пароль:
Запомнить?  
@Mail.ru



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Функция которая возвращает динамический массив 
Автор Сообщение
Начинающий

Регистрация: 01.10.2010
Сообщения: 12
Языки:
Специальность:

Репутация: 0 [ ? ]
Сообщение Функция которая возвращает динамический массив
Здравствуйте!
у меня такой глупый вопрос. Я все время путаюсь и никак не могу четко сформулировать на него ответ. Помогите мне раз и навсегда уяснить этот момент.
припустим есть функция, в которую передается указатель на массив и его размер... в этой функции нужно сделать, что-то с данными этого массива и вернуть их в программу, данные в смысле. Но первоначальный массив изменяться не должен. как это сделать?
мы в функции должны создать динамический массив, так? проделать преобразования..а как вернуть его в программу? память нужно освободить, чтоб не было утечки.. как тогда возвращать данные? скопировать все элементы динамического массива в локальный массив и передавать программе указатель на локальный массив? тоже вроде не то...
вообщем просветите, пожалуйста...


17.01.2011 13:16
Профиль Отправить email
Магистр
Аватара пользователя

Регистрация: 15.02.2009
Сообщения: 345
Откуда: Киев
Языки:
Специальность:

Репутация: 14 [ ? ]
Сообщение Re: Функция которая возвращает динамический массив
Есть 2 варианта:
1) Передавать функции дополнительно указатель на массив куда будут записываться новые данные.
2) Создавать в функции динамический массив и возвращать указатель на него, но потом обязательно нужно очистить память.

_________________
Создание, продвижение сайтов: . ICQ 209937


18.01.2011 18:15
Профиль ICQ WWW
Начинающий

Регистрация: 19.01.2011
Сообщения: 6

Репутация: 0 [ ? ]
Сообщение Re: Функция которая возвращает динамический массив
второй вариант более правильный, на то она и функция чтоб что-то возвращать, а за утечкой памяти всегда глаз надо держать....


19.01.2011 9:41
Профиль Отправить email
Начинающий

Регистрация: 01.10.2010
Сообщения: 12
Языки:
Специальность:

Репутация: 0 [ ? ]
Сообщение Re: Функция которая возвращает динамический массив
Leo, спасибо!
Zhope, а разве не плохой тон выделять память в одном месте, а освобождать в другом?


19.01.2011 12:40
Профиль Отправить email
Магистр
Аватара пользователя

Регистрация: 15.02.2009
Сообщения: 345
Откуда: Киев
Языки:
Специальность:

Репутация: 14 [ ? ]
Сообщение Re: Функция которая возвращает динамический массив
В стандартной библиотеке как-раз в основном используется 1-й вариант, в библиотеке для работы с mysql 2-й вариант.
Если функция может вообще не изменять массив, то лучше 2-й вариант (возращать NULL), а так 1-й более правильный.

_________________
Создание, продвижение сайтов: . ICQ 209937


20.01.2011 22:41
Профиль ICQ WWW
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 


Кто сейчас на конференции

Зарегистрированные пользователи: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
cron
© 2013 «Форум программистов Украины»