我需要编写一个接受可变数量争论的函数,它本质上是一个snprintf
类似函数的包装器。我一般理解如何执行此操作,如传递可变数量的参数中所示。
无论如何,至少在 C 中,我们需要在变量参数开始之前将一个命名参数传递给函数(为什么 void f(...) 在 C 中不允许?)。
然而,相同问题的答案表明这在 C++ 中很容易实现。我想知道如何实现这一点,特别是因为处理可变参数函数的方法似乎与C
(va_start
等) 相同。还是他们指的是可变参数模板?
所以基本上可以编写一个没有命名参数的可变参数函数,如下所示,如果可以,怎么做?
void f(...){
...
}
ps 如果可能的话,我想用 c++03 来做这件事。