函数组合-组合方法优化
C++ Functional Composition - Compose Methods Optimisation
我已经编写了自己的撰写方法,该方法适用于pod,如何优化此方法以处理复制成本高的用户定义类型?
#include <iostream>
template<typename T, typename U, typename V>
std::function<V(T&&)> compose(std::function<V(U)> f, std::function<U(T)> g)
{
std::function<V(T&&)> result = [&](T&& value){
return f(g(value));
};
return result;
}
int main(int argc, const char * argv[])
{
std::function<int(int)> f = [](int v){ return v + 1;};
std::function<int(int)> g = [](int v){ return v + 2;};
std::function<int(int)> h = compose(f, g);
std::cout << "compose(f,g): " << (h(5)) << std::endl;
return 0;
}
布莱尔答案是boost::call_traits<T>
…
相关文章:
- 空基优化子对象的地址
- 如何在OMNET++中指定与命令行参数组合的输出文件名
- 可组合的lambda/std::函数与std::可选
- 如何将两个不同矢量的同一位置的两个元素组合在一起
- 关闭||运算符优化
- 如何解决gcc编译器优化导致的centos双编译器设置中的分段错误
- 混合组合和继承的C++问题
- 我需要将多个函数组合为一个函数
- 构建可组合有向图(扫描仪生成器的汤普森构造算法)
- 返回值优化:显式移动还是隐式
- 人脸跟踪arduino代码的优化
- 通过组合不同的类型来创建唯一的id
- 使用仅使用一次的变量调用的复制构造函数.这可能是通过调用move构造函数进行编译器优化的情况吗
- 用常见虚拟函数实现的任意组合来实现派生类的正确方法是什么
- 模板元编程:如何将参数包组合成新的参数包
- 纯函数,为什么没有优化
- 为什么大多数 pair 实现默认不使用压缩(空基优化)?
- 如何通过组合红色和蓝色无符号字节来优化混合?
- C++算法优化:从N个元素中求出K组合
- 函数组合-组合方法优化