【问题标题】:template to specialize a function's parameter专门化函数参数的模板
【发布时间】:2016-09-20 07:08:03
【问题描述】:

我有一个函数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)

【问题讨论】:

    标签: c++ templates


    【解决方案1】:

    你可以在没有任何模板的情况下定义它,

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

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

    免责声明:编译器未触及代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多