variadic function

variadic function是可变参数的函数。

函数声明

1
2

void test ( int count, ... );

使用可变参数

c++中可以使用宏va_list, va_start, va_arg, va_end来使用可变参数。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

void test ( int count, ... )
{
va_list ap;
va_start( ap, count );

cout << "void test( int " << count << ", ";
for ( int i = 0; i < count; i++ )
{
cout << "int " << va_arg( ap, int ) << ", "; //第二个参数是可变参数的类型
}
cout << " )" << endl;

va_end( ap );
}