- 主题:这个功能是不是只有用宏来写?
要批量写一批函数
auto make_lambda()
{
return [this](int x) noexcept { return this->f(x); };
}
类似把member function f()转成lambda,然后可以放到类似
template<class T>
void invoker( T&& fun, int x)
{
fun(x);
}
然后需要f(x)可以替换
上面那个make_lambda()是不是没法用模板写,只有用宏?
--
FROM 125.120.163.*
就是不想用指针啊,希望做成lambda,然后由编译器自动inline
【 在 DoorWay 的大作中提到: 】
: 函数指针?
: template<typename classT, typename argT>
: void Invoker(classT& t, int (classT::*memFun)(argT), argT x)
: ...................
--
FROM 112.65.30.*
这些函数会被高频呼叫,做成lambda inline比用函数指针少一次指针引用,在高频呼叫的时候,大概能快10%-15%
【 在 DoorWay 的大作中提到: 】
: 三句一句没懂。
: 1 用指针会?
: 2 做成lambda会?
: ...................
--
FROM 125.120.163.*