Форум программистов, компьютерный форум CyberForum.ru

Функция возвращает массив - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 169, средняя оценка - 4.93
CilCatblack
 Аватар для CilCatblack
5 / 5 / 0
Регистрация: 05.11.2007
Сообщений: 161
24.04.2009, 18:28     Функция возвращает массив #1
Как сделать чтобы функция возвращала массив(не исползуя указатели).
К присмеру:
C++
1
2
3
4
5
6
7
...
char v[20];
//
//заполнение массива
//
return v;
...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.04.2009, 18:28     Функция возвращает массив
Посмотрите здесь:

Функция которая возвращает динамический массив C++
Шаблонная функция с явной специализацией не возвращает динамический массив C++
C++ Функция, которая возвращает массив
Функция возвращает двумерный массив C++
Функция, что возвращает динамический массив C++
C++ Функция возвращает двумерный статический массив своего класса
Функция возвращает ссылку на статический массив C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ISergey
Maniac
Эксперт С++
 Аватар для ISergey
1345 / 878 / 51
Регистрация: 02.01.2009
Сообщений: 2,642
Записей в блоге: 1
24.04.2009, 18:40     Функция возвращает массив #2
А чем указатели плохи?
Monte-Cristo
 Аватар для Monte-Cristo
2807 / 1372 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
24.04.2009, 19:04     Функция возвращает массив #3
конечно может я и ошибаюсь, но это не возможно, так как имя масива - является указателем на первый его элемент. Так или иначе, возвращается указатель.
CheshireCat
Эксперт С++
2907 / 1235 / 78
Регистрация: 27.05.2008
Сообщений: 3,315
24.04.2009, 22:14     Функция возвращает массив #4
В C++ (но не в C) элементарно:
C++
1
2
3
4
5
6
7
8
std::vector<char> func()
{
    std::vector<char> v(20);
    //
    // ... заполнение массива
    //
    return v;
}
Mecid
 Аватар для Mecid
678 / 227 / 4
Регистрация: 15.10.2007
Сообщений: 1,247
24.04.2009, 23:09     Функция возвращает массив #5
Это шаблон,а не массив
Нев С ,не в С++ это невозможно так как массив является указателем на память
CheshireCat
Эксперт С++
2907 / 1235 / 78
Регистрация: 27.05.2008
Сообщений: 3,315
24.04.2009, 23:29     Функция возвращает массив #6
Разве в исходном вопросе было что-нибудь о запрете использовать шаблоны? Хе-хе.
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16935 / 5340 / 328
Регистрация: 30.03.2009
Сообщений: 14,354
Записей в блоге: 26
24.04.2009, 23:54     Функция возвращает массив #7
Массив возвращать нельзя. Но можно сделать структуру, состоящую из массива, а вот её уже вернуть можно

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
typedef struct
{
  char v[20];
} str_t;
 
str_t func (void)
{
  str_t s;
 
  s.v[0] = ...
  s.v[1] = ...
 
  return s;
}
Mecid
 Аватар для Mecid
678 / 227 / 4
Регистрация: 15.10.2007
Сообщений: 1,247
25.04.2009, 00:02     Функция возвращает массив #8
Цитата Сообщение от CheshireCat Посмотреть сообщение
Разве в исходном вопросе было что-нибудь о запрете использовать шаблоны? Хе-хе.
смотри выше написано же как вернуть массив
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.04.2009, 00:06     Функция возвращает массив
Еще ссылки по теме:

Функция, которая возвращает массив C++
C++ Как функция возвращает указатель на структуру в массив указателей
Функция формирует массив и возвращает указатель на него C++
Двумерный массив. Функция возвращает мусор C++
Функция возвращает массив Vector, как реализовать C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16935 / 5340 / 328
Регистрация: 30.03.2009
Сообщений: 14,354
Записей в блоге: 26
25.04.2009, 00:06     Функция возвращает массив #9
Цитата Сообщение от Mecid Посмотреть сообщение
Это шаблон,а не массив
Нев С ,не в С++ это невозможно так как массив является указателем на память
А <vector>char это же будет в конечном итоге классом, содержащим массив, а не массивом?
Yandex
Объявления
25.04.2009, 00:06     Функция возвращает массив
Ответ Создать тему
Опции темы

Текущее время: 07:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru