C++にもstatic ifが欲しいと思い作ってみましたが、かなり苦戦しました。 やっぱり言語ネイティブでサポートして欲しいですね。C++0xの規格の範囲ではどうやっても無理そうで、gccの挙動に依存してます。 STATIC_IF library for C++ · GitHub 利点 static ifがあればコンパイル時プログラミングをよりわかり易く簡潔に記述できます。 定数を使った再帰的な関数等はコンパイル時に展開でき、その際に邪魔になる不要なインスタンス化を避けることができます。 従来はテンプレートの特殊化を使用して関数を分割し重複した関数定義を書く必要がありました。 使い方 関数テンプレート又はメンバ関数テンプレート内で使用する。 STATIC_IFではじめSTATIC_ENDIFで終わる。 #include "static_if.hpp" template <int N> vo