C++模板元编程之编译期间“产生从2到某个给定值之间的所有质数”
本文的灵感来自于C++模板元编程技术与应用,里面讲到“
1994年,在圣迭哥举行的一次C++标准委员会会议期间,
Erwin Unruh展示了一段特别的代码,可以在编译期以编译
错误信息的方式产生从2到某个给定值之间的所有质数。
”
所以自己用一下午的时间做了一个实现,代码如下:
图中红框标记的输出行,便是15以内的所有质数。
像这样解注释Prime的定义后,可以编译通过,得到的运行结果如下:
文章中提到的原始例子在这里:
Primzahlen