Ard*_*der 30 c c++ terminology ellipsis variadic
的用途之一...
是在 C 和 C++ 中表示可变参数实体。
它叫什么名字?
以这种方式使用时,它是否归类为运算符或其他东西?
关于 的任何其他细节...
?
编辑:
我知道...
. 我问的是它的名称和分类,我希望它在 C 和 C++ 中都相似。
P__*_*J__ 44
它是标点符号之一。
6.4.6 Punctuators
Syntax punctuator:
one of [ ] ( ) { } . ->
++ -- & * + - ~ !
/ % << >> < > <= >= == != ^ | && ||
? : ; ...
= *= /= %= += -= <<= >>= &= ^= |=
, # ##
<: :> <% %> %: %:%:
Run Code Online (Sandbox Code Playgroud)
在函数声明中,它被称为省略号。
省略号也被一些编译器C
语言扩展使用。示例 - gcc switch/case 范围扩展
const char *test(unsigned num)
{
switch(num)
{
case 0 ... 9:
return "the value is in the 0 to 9 range";
case 10 ... 99:
return "the value is in the 10 to 99 range";
default:
return "out of tested range";
}
}
Run Code Online (Sandbox Code Playgroud)
... 的用途之一是在 C 和 C++ 中表示可变参数实体。`
是的,在外行人的术语中...
可以被认为是表示一个用例的多个(如在伪代码标点符号中,我们有时使用多个点来模拟不同类型),如果我们考虑可变参数(在某种意义上是多个) C++ 中的“可变”参数/参数),它指的是函数或模板的可变数量的参数。
它叫什么名字?
省略
以这种方式使用时,它是否归类为运算符或其他东西?
不,它绝对不是运算符,因为它允许您传递任意数量的参数,而不是对它们进行操作。
关于……的任何其他细节?
据我所知 -
sizeof
运算符一起使用,因为它也被归类为包扩展。编辑:我知道
...
我询问它的名称和分类的目的,我希望在 C 和 C++ 中都相似。
名称相同,但 C++ 和 C 的用法可能有所不同。
我只熟悉它在前一种语言中的使用。(我记得有一个HackerRank问题Variadics,覆盖其效用。)