考虑printf:
int printf ( const char * format, ... );
用于描述...
以及使用它的函数的术语是什么? 我一直称它为省略号,但这就像打电话&
“&符号运算符”。
可变长度参数列表
编辑:
或者,如果描述函数本身: Variadic函数
省略号(,……)p202“K + R C编程语言”
事实上,“省略号”通常是这里最好的术语。 有时我们引用“使用省略号传递的参数”(C ++ 03 8.3.5p2)。 在确定最佳重载函数的上下文中,可以说一个参数“匹配省略号”(C ++ 03 13.3.2p2)。
printf
和其他类似函数通常称为“可变函数”。
注意:即将推出的C ++ 0x Standard提供了两种不同的方式来声明和实现可变参数函数( va_arg
方式和模板方式)。 但两者都涉及省略号令牌。
省略号算子是我听过的唯一一个词 – 很少(谢天谢地)你不需要别的东西!
这个C ++草案规范简称为“ 省略号 ”,有时带有明确或不确定的文章,如“ 省略号 ”或“ 省略号 ”。
5.2.2“函数调用”第6节包含:
可以声明函数接受较少的参数(通过声明默认参数(8.3.6))或更多参数(通过使用省略号 ,… 8.3.5)而不是函数定义(8.4)中的参数数量。
8.3.5“function”第2节包含:
如果参数声明子句以省略号终止,则参数的数量应等于或大于没有默认参数的参数的数量。
8.3.6第4节包含示例代码:
void g(int = 0, ...); // OK, ellipsis is not a parameter so it can follow // a parameter with a default argument
额外的迂腐:第13.3.3.1.3节(“省略号转换序列”)是指“省略号参数规范”。 但是,如上面的示例代码所述,严格来说,省略号不是参数。 8.3.5第1节解释说,虽然省略号出现在parameter-declaration-clause中,但它遵循参数声明列表。
除了“省略号”和“可变函数”之外,还可以看到“vararg”和“varargs”这两个词。 这似乎是“变量参数列表”的缩写,由POSIX中(LEGACY)标题
周围的语言判断。
此外,不使用术语“&符运算符”的主要原因是&符号可以表示两个不同的运算符中的任何一个,这取决于上下文,这将使该术语模糊。 省略号不会出现这种情况; 没有赋予它的其他含义,因此对于令牌“ ...
”使用术语“省略号”与使用术语“&符号运算符” 不同于令牌“ &
”。
可变参数
马丁和德米安都是对的:
以上就是c/c++开发分享什么是’…’令牌的正确用语?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/549261.html