以下はテンプレートを使わない場合のC++のコードである:intfactorial(intn){if(n==0)return1;returnn*factorial(n-1);}voidfoo(){intx=factorial(4);//==(4*3*2*1)==24inty=factorial(0);//==0!
阶乘是一个不错的例子，在此之前我们先来回顾一下一般C++中阶乘函式的递回写法：intfactorial(intn){if(n==0)return1;returnn*factorial(n-1);}voidfoo(){intx=factorial(4);//==(4*3*2*1*1)==24inty=factorial(0);//==0!