我遇到了一个函数定义:
char* abc(char *f, ...)
{
}
Run Code Online (Sandbox Code Playgroud)
这三个点是什么意思?
小智 11
它们被称为省略号,它们意味着该函数可以采用不确定数量的参数.您的函数可能会像这样调用:
abc( "foo", 0 );
abc( "foo", "bar", 0 );
Run Code Online (Sandbox Code Playgroud)
需要有一种方法来指示列表的结尾.这可以通过使用第一个参数来完成,如printf(0格式字符串),或特殊终止符,上例中为零.
具有可变数量参数的函数在C++中被认为是错误形式,因为不能对参数执行类型检查或用户定义的转换.
归档时间: |
|
查看次数: |
28557 次 |
最近记录: |