2015-03-03 3 views
-1
array <long double,3000> x,y; 

Это объект массива. Я хочу передать это в функцию нижеПередача объектов массива в функции cpp

void calculate (array <long double,3000> ,array <long double,3000>); 

и я использовал вызов функции, как показано ниже

calculate(x_value,y_value); 

где x_value и y_value являются два объекта массива.

Определение функции является

void fun_name(array <long double,3000> x_coordinate,array<long double,3000> y_coordinate) 

Моя программа работает правильно. Но я хочу знать, есть ли короткое представление для передачи объектов массива в функцию ..

+1

Вы можете использовать typedef, чтобы упростить чтение. Или шаблон, чтобы избежать необходимости указывать тип вообще. И, пожалуйста, передайте вещи, как массивы и векторы, по ссылке. –

+1

Другим вариантом является 'template void fun_name (array x, array y);'. Не нужно бояться шаблонов :) –

ответ

1

Что делать, если вы определяете TypeName сократить свой тип, следующим образом (пример)

using array3000 = array <long double,3000>; 


void calculate (array3000 , array3000); // declaration 


void fun_name(array3000 x_coordinate, array3000 y_coordinate) 
{ 
    // definition 
} 


int main(){ 

    array3000 x,y; 

    fun_name(x, y); 

    return 0; 
} 
+0

void fun_name (& array3000, & array3000); // Объявление void fun_name (& array3000 x_coordinate, & array3000 y_coordinate) {} fun_name (x, y); Помогает ли мне манипулировать массивами с помощью ссылки? –

+0

@richususan Что вы имеете в виду? вы хотите пройти по ссылке? Если это так, то void вычисляет (array3000 &, array3000 &); – Marcin

+0

Я имел в виду то же самое. Но если я не использовал ссылку, то также могу редактировать значения элементов в массивах. Какое дополнительное использование может быть получено путем передачи массива в качестве ссылки? Я знаю одно преимущество. Что мы можем использовать sizeof, а остальное? –

Смежные вопросы