C++ 不定参数详解:使用可变参数模板实现任意参数数量的函数
C++ 中的不定参数指的是函数参数个数不确定,可以根据需要传入任意个数的参数。
C++ 通过使用省略号(...)来实现不定参数。具体实现方式是使用可变参数模板(Variadic Templates)。
以下是一个使用不定参数的示例代码:
#include <iostream>
#include <stdarg.h>
double average(int count, ...)
{
va_list ap;
int i;
double sum = 0;
va_start(ap, count);
for (i = 0; i < count; i++) {
sum += va_arg(ap, double);
}
va_end(ap);
return sum / count;
}
int main()
{
std::cout << average(3, 1.0, 2.0, 3.0) << std::endl; // 输出 2.0
std::cout << average(5, 1.0, 2.0, 3.0, 4.0, 5.0) << std::endl; // 输出 3.0
return 0;
}
在上面的代码中,average() 函数使用了不定参数。它的第一个参数 count 表示传入的参数个数,后面的省略号表示可以传入任意个数的参数。在函数内部,使用 va_list、va_start 和 va_end 来遍历传入的参数,并计算它们的平均值。
原文地址: https://www.cveoy.top/t/topic/mpRW 著作权归作者所有。请勿转载和采集!