<initializer_list> 引用函数

<initializer_list> with references to functions

本文关键字:函数 引用 gt lt initializer list      更新时间:2023-10-16

我想询问是否有机会填充<initializer_list>的引用。假设我有功能:

double refce( double (&f1)(double), double in ){
    return f1(in);
}

,而不是像以下方式这样称呼:

double a[3];
a[0] = refce( sin, 3.1415);
a[1] = refce( cos, 3.1415);
a[2] = refce( tan, 3.1415);

是否可以写出这样的作品:

double a*;
a = refce_list( {sin, cos, tan}, 3.1415);

我尝试使用初始化列表,但显然我不知道HO将类型粘贴到列表中。我也尝试了#include" cstdarg"样式,但我无法弄清楚适当的语法。甚至可能吗?

谢谢好友

这样:

#include <initializer_list>
void refce(std::initializer_list<double (*)(double)> il, double in)
{
    for (auto* f : il)
    {
        f(in);
    }
}