Аргументы функции в С++

01.01.2001

Аргументы функции в С++
Добрый вечер!
Есть один несложный вопрос...) )
Допустим, у нас есть большой массив и функция, которая его обрабатывает (изменять массив ей при этом не надо) , в чем разница двух следующих вариантов? И какой из них лучше по времени и памяти, с учетом больших размеров входного данного?
1) T array[1000000];
void handler(const T&);
handler(array);

2)T array[1000000];
void handler(const T);
handler(array);

  • Второй вариант вообще неправильный. Массив из элементов типа Т, а на вход подается только одна переменная типа Т.
  • Второй вариант - бред.
    Ты копируешь данные (причем только первый элемент; кстати, по идее компилится не должно "as is")
    Да еще и const приписываешь.
  • Правильно так

    T array[1000000];
    void handler(const T *arr);
    handler(array);

Вас заинтересует