转载:https://www.jianshu.com/p/b56d59f77d53
在函数式编程里面,有个概念叫做函数柯里化(currying),是指一个函数接收部分参数后,并不立即求值,而是继续返回另一个函数
// 1.0
template<int N>
struct CharPointer
{
using Result = typename Times<N, char, PointerOf>::Result;
};
// 2.0 继承特性
template<int N>
struct CharPointer :Times<N, char, PointerOf>
{
};
// 3.0 using
template<int N> using CharPointer = Times<N, char, PointerOf>;
// example:
template<typename T> using Pointer2Of = Times<2, T, PointerOf>;