模板元

1. 编译期计算 我们先来看一段求阶乘(factorial)的算法: size_t factorial(size_t n) noexcept { return (n == 0) ? 1 : n * factorial(n - 1); } 很明显,这是一段运行期算法。程序运行的时候,传递一个值,它可以是一个变...

发布 0 条评论

这篇文的草稿我是在2014年5月11号开始打的,可是拖拖拉拉直到现在才真正动笔写,自己对自己也是醉了。。 之所以写bind而不是什么其他的东西,是因为bind在各种C++的utility里面可以说是最能体现出“利用语言本身来拓展语言功能”这一特...

发布 0 条评论

群里有个朋友要实现这么一个功能:如何在编译期把一个函数类型的参数减少一个。 简单来说,就是实现下面这个模板: remove_func_par::type; // type = void(int, long) 根据输入的编译期整数,把函数参数表里对应的参数干掉一个。 为...

发布 0 条评论