gpt4 book ai didi

java - 在一个函数中传入多个相同类型的变量

转载 作者:行者123 更新时间:2023-11-30 03:28:27 25 4
gpt4 key购买 nike

在某些语言中,我们可以像这样声明多个相同类型的变量:

int a,b,c,d;

是否有可能以同样的方式将它们传递给函数/方法? C++中的E.G

template<class ItemType>
void add6(ItemType one,two,three,four,five,six){
//some very interesting code
}

或者您是否必须在每个单独的前面键入 ItemType?如果我标记的语言(C++ 和 Java)不能做到这一点,还有其他语言可以吗?

如果一般能做到,会不会有做不到的情况?

还有这个名字吗?

谢谢!

++++++++++++++

编辑:我注意到我要求的内容不清楚,我会澄清一下

做的时候

int a,b,c,d;

我一次声明所有这四个变量,主要是因为打字比这样做更快:

int a;
int b;
int c;
int d;

我想了解的是,相同的概念是否适用于函数签名。E.G 正在做

void func(int a,b,c,d){
//some interesting code
}

代替

void func(int a, int b, int c, int d){
//some interesting code
}

再次感谢!

最佳答案

使用可变长度参数列表语法(请参阅@HungVo 的回答),您可以在 Java 和 C++ 中声明相同类型的未指定数量的 trailing 参数。但是,对于位于参数列表前面的单独命名的参数,您必须将类型与每个参数名称一起写入。

但是,一些其他语言,例如 Pascal 和 Ada,确实提供了一种参数列表语法,允许您声明同一类型的多个连续参数,而不必重复类型名称。例如,在 Pascal 中,您可以定义一个过程 aProc,它接受类型为 INTEGERINTEGERINTEGERREAL(按此顺序):

PROCEDURE aProc (a, b, c: INTEGER; x: REAL);
BEGIN
...
END;

Ada 等价物几乎相同:

PROCEDURE aProc (a, b, c: INTEGER; x: FLOAT) IS
BEGIN
...
END aProc;

但在 Java(或 C++)中,您必须编写:

void aProc(int a, int b, int c, float x)
{
...
}

关于java - 在一个函数中传入多个相同类型的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46577096/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com