2015-03-03 53 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_valuey_value是两个阵列对象。

函数定义是

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

我的程序正常运行。但我想知道是否有传递数组对象功能的任何短期表现..

+1

您可以使用一个typedef使它更易于阅读。或者一个模板,以避免必须完全指定类型。并且请通过引用传递数组和向量之类的东西。 – 2015-03-03 03:51:06

+1

另一种选择是'template void fun_name(array x,array y);'。不需要害怕模板:) – 2015-03-03 04:16:36

回答

1

如果你定义一个类型名称,以缩短你的类型,如下所示(例子)

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); 这是否帮助我使用参考操纵数组? – 2015-03-03 04:59:28

+0

@richususan你是什么意思?你想通过参考?如果是这样,void calculate(array3000&,array3000&); – Marcin 2015-03-03 05:01:18

+0

我的意思是一样的。但是如果我没有使用引用,那么我也可以编辑数组中的元素值。通过传递数组作为参考可以获得什么额外的用途?我知道一个优点..我们可以使用sizeof和其余的? – 2015-03-03 05:08:05