テンプレートクラスを使用した一般的なパターンは、テンプレート引数が簡単にアクセスできるようにクラス内でtypedefされていることである。整数テンプレート引数をテンプレートクラスメンバとしてアクセス可能にする方法はありますか?
#include <type_traits>
template<class T> struct Foo{
typedef T type;
};
static_assert(std::is_same<Foo<int>::type,int>::value,"");
私は非型テンプレート引数と同じことを行うことができますどのように?私は次のアイデアしか持っていませんでしたが、もっとエレガントなものが必要ですか?
template<int I> struct Bar{
constexpr static int getI(){ return I; }
};
static_assert(Bar<5>::getI()==5,"error");
をなぜエレガントではないということですか? –
これはメソッド呼び出しのようです。 – eudoxos
これはメソッド呼び出しです。それはなぜ問題なのですか? – stijn