用于专用函数参数的模板

template to specialize a function's parameter

本文关键字:参数 专用 函数 用于      更新时间:2023-10-16

我有一个函数int f (int x, int y),它需要多次调用自己,其中一个参数是固定的,如

int f(int x, int y) { 
      ...
      int i = f(z,y);
      ...
}

是否有任何方法通过模板定义函数int g (int x),使g(z) := f(z,y)使上述调用将是int i = g(z) ?

你可以直接定义它,不需要任何模板,

auto f( int x, int y )
    -> int
{
    auto g = [=]( int z ) -> int { return f( z, y ); };
    // ...
    int i = g( z );
}

如果您愿意,可以省略g-> int结果类型规范。