使用可变参数需要包含的头文件:#include <cstdarg>
va_list : 定义一个va_list变量
va_start : 初始化va_list变量
va_arg : 返回可变参数,第二个参数是要返回的数据的数据类型
va_end : 结束可变参数的使用
使用的示例如下:
void simple_print(const char* fmt...)
{
va_list args;
va_start(args, fmt);
while (*fmt != '\0')
{
if (*fmt == 'd')
{
int i = va_arg(args, int);
std::cout << i << std::endl;
}
else if (*fmt == 'c')
{
int c = va_arg(args, int);
std::cout << static_cast<char>(c) << std::endl;
}
else if (*fmt == 'f')
{
double d = va_arg(args, double);
std::cout << d << std::endl;
}
++fmt;
}
va_end(args);
}