我正在阅读模板元编程.我无法理解这些线是什么意思;以下代码涉及在链表上进行元编程.
struct NIL { typedef NIL Head; typedef NIL Tail; }; template <typename H,typename T=NIL> struct Lst { typedef H Head; typedef T Tail; }; template <int N> struct Int{ static const int result = N; }; typedef Lst< Int<1>,Lst< Int<2>,Lst< Int<3> > > > OneTwoThree;
以上是https://monoinfinito.wordpress.com/series/introduction-to-c-template-metaprogramming/.
我非常感谢有关struct NIL具有什么意义的指导,它具有typedef NIL Head和typedef NIL Tail. Nil是一种类型,当然,但是如果我有typedef NIL Head,例如,这是否意味着我在每个头部都有另一个递归的头部和尾部?