[英]What is the (...) called in C and C++?
...
的用途之一是在 C 和 C++ 中表示可变参数实体。
它叫什么名字?
以这种方式使用时,它是否归类为运算符或其他东西?
关于...
任何其他细节?
编辑:我知道...
的目的。 我问的是它的名称和分类,我希望它在 C 和 C++ 中都相似。
它是标点符号之一。
6.4.6 Punctuators
Syntax punctuator:
one of [ ] ( ) { } . ->
++ -- & * + - ~ !
/ % << >> < > <= >= == != ^ | && ||
? : ; ...
= *= /= %= += -= <<= >>= &= ^= |=
, # ##
<: :> <% %> %: %:%:
在函数声明中,它被称为省略号。
省略号也被一些编译器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";
}
}
...
在英语和 C 标准中都称为省略号。
... 的用途之一是在 C 和 C++ 中表示可变参数实体。`
是的,用外行人的话来说...
可以被认为是表示一个用例的多个(如在伪代码标点符号中,我们有时使用多个点来模拟不同类型),如果我们考虑可变参数(多个在 C++ 中“可变”参数/参数的意义上),它指的是函数或模板的可变数量的参数。
它叫什么名字?
省略
以这种方式使用时,它是否归类为运算符或其他东西?
不,它绝对不是运算符,因为它允许您传递任意数量的参数,而不是对它们进行操作。
关于……的任何其他细节?
据我所知 -
sizeof
运算符一起使用,因为它也被归类为包扩展。编辑:我知道
...
我在询问它的名称和分类,我希望它在 C 和 C++ 中都相似。
名称相同,但 C++ 和 C 的用法可能有所不同。
我只熟悉它在前一种语言中的使用。 (我记得有上Variadics一个HackerRank问题,涵盖了其效用。)
三个句号的序列...
在 C 和 C++ 中都称为省略号
parameter pack
- 当类型和标识符之间有省略号时Type ... identifier
pack expansion
- 由模式和省略号组成pattern...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.