Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.01.2012, 16:22   #1
over96
 
Аватар для over96
 
Регистрация: 08.01.2012
Сообщений: 5
По умолчанию C++. Передача массива в функцию по ссылке

Пожалуйста, приведите пример кода с передачей массива в функцию по ссылке(или в край уже по указателю):
1) Инициализация функции
2) Использование этого массива в функции
3) Пример использования функции

Заранее благодарен!
over96 вне форума Ответить с цитированием
Старый 08.01.2012, 16:26   #2
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

over96

Пожалуйста, приведите пример кода с передачей массива в функцию по ссылке(или в край уже по указателю):
1) Инициализация функции
2) Использование этого массива в функции
3) Пример использования функции


Код:
void f(int (&arr)[10])
{
   for (size_t i=0; i<sizeof(arr)/sizeof(arr[0]); i++)
      arr[i] = rand();
}

int arr[10];
f(arr);
Rififi вне форума Ответить с цитированием
Старый 08.01.2012, 16:28   #3
over96
 
Аватар для over96
 
Регистрация: 08.01.2012
Сообщений: 5
По умолчанию

Большое спасибо!
over96 вне форума Ответить с цитированием
Старый 08.01.2012, 16:56   #4
pinkiller
Форумчанин
 
Регистрация: 29.10.2011
Сообщений: 141
По умолчанию

Вот, сам для себя писал, не по заданию даже.
тут и передача и изменение размерности и работа с этим массивом.
Надеюсь пригодится
Вложения
Тип файла: rar ChangeArray.rar (595.0 Кб, 35 просмотров)
pinkiller вне форума Ответить с цитированием
Старый 09.01.2012, 22:03   #5
over96
 
Аватар для over96
 
Регистрация: 08.01.2012
Сообщений: 5
По умолчанию

А можно ли сделать что бы не передавался кокретный размер массива? Может указателями?
over96 вне форума Ответить с цитированием
Старый 09.01.2012, 22:46   #6
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

over96

А можно ли сделать что бы не передавался кокретный размер массива? Может указателями?

В Си - нельзя. В С++ - тоже нельзя, но если очень хочется, то можно.

Код:
template <typename T, size_t N>
void f(const T (&arr)[N])
{
    for (size_t i=0; i<N; i++)
        std::cout << arr[i] << " ";
    std::cout << std::endl;
}

int arr1[] = {1, 2, 3, 4, 5, 6, 7};
f(arr1);

float arr2[] = {10.43, 20.83, 30.12};
f(arr2);
Rififi вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача массива по ссылке xxxsas PHP 4 20.06.2011 14:52
Произведение элементов массива в функции (передача массива в функцию) (Delphi) Toxa16 Помощь студентам 1 23.04.2011 04:42
Передача массива в функцию GladiatoR24 Общие вопросы C/C++ 3 24.11.2010 22:51
Си++. Передача массива в функцию. Diamond2107 Помощь студентам 7 03.12.2009 20:15
передача массива в функцию JOFRIF Общие вопросы C/C++ 8 02.08.2009 12:46