Recursive Struct in C++
<p>I found the following code and it seems working but I can not understand it at all.<br>
It looks like a <em>Recursive Struct</em> but I never saw this before.</p>

<pre><code>template&lt;int B, int N&gt;
struct Pow {
    enum{ value = B*Pow&lt;B, N-1&gt;::value };
};

template&lt; int B &gt;
struct Pow&lt;B, 0&gt; {
    enum{ value = 1 };
};
int quartic_of_three = Pow&lt;3, 4&gt;::value;
</code></pre>

<p>any idea what is this?</p>
