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

Форум программистов: 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 ] 


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

Зарегистрированные пользователи: Google [Bot]


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

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