我發現一個代碼在這裏Printing 1 to 1000 without loop or conditionals編譯時間遞歸如何工作?
有人可以解釋時候怎麼編譯遞歸的作品,無法找到它在谷歌
// compile time recursion
template<int N> void f1()
{
f1<N-1>();
cout << N << '\n';
}
template<> void f1<1>()
{
cout << 1 << '\n';
}
int main()
{
f1<1000>();
}
謝謝!
其實有一個技巧,專業化是一個有條件的,雖然沒有'如果'關鍵字... – 2011-03-11 18:20:12
有一個經驗法則比運行時遞歸更快嗎? – 2012-01-29 20:26:09
使用此代替常規遞歸有什麼好處? – zzzzz 2013-06-10 08:03:23