移植性を考えたら、テンプレート、例外処理、RTTI、名前空間は使わないほうがいい。
C++はTMP言語じゃなくて、クラス付きのCと捉えるのが一番いい。