c++模版编程实现Haskell的函数模式匹配特性[图]:
大神Bartosz Milewski在2009年写了一篇文章《Haskell和c++什么?》,使用c++实现Haskell函数式编程语言的一些特性。【传送门在文末】
其中有这样一段例子:
//代码1
1. template
2.公众:
-
<李> staticconstint价值=https://www.yisu.com/zixun/n * n <1>::价值;
4。};李> <李> ,
6. template<的在类fact<0祝辞{//专业化为n=0
7.公众:
9。};
注:原文中使用的是struct关键字,这里改为类并加上了公共
我猜,你没看懂,没关系,我们先跳过上面这一段有着【令人恐怖的语法】的c++模版代码。
上面的例子想干嘛呢?其实它只是想计算n的阶乘。
c++模版编程实现Haskell的函数模式匹配特性(图)