可变参数的函数, 看似神奇, 其实非常简单。 在本文中, 我就不高谈阔论了, 仅仅给出一个示例:
#include <iostream>
using namespace std;
int add(int argc, ...)
{
int sum = 0;
int *p = &argc + 1;
int i = 0;
for(i = 0; i < argc; i++)
{
sum += *p++;
}
return sum;
}
int main()
{
int argc = 3;
cout << add(argc, 1, 2, 3) << endl;
argc = 4;
cout << add(argc, 1, 1, 2, 3) << endl;
argc = 4;
cout << add(argc, 1, 1, 2, 3, 6, 7, 8) << endl;
return 0;
}
结果为:
6
7
7
好, 睡觉去。