私はこのクラスを持っています:
template <typename T, uint64_t N>
struct Probe {
static const uint64_t Counter = N;
typedef T Type;
};
私が利用するもの:
typedef Probe <int, 0> FirstIntProbe;
typedef Probe <int, 1> SecondIntProbe;
typedef Probe <float, 2> FloatProbe;
次のような2番目のパラメーターを指定せずに、このクラスをインスタンス化できるコンパイル時\マクロメソッドを作成することは可能ですか?
typedef Probe <int, Something?> FirstIntProbe;
typedef Probe <int, Something?> SecondIntProbe;
typedef Probe <float, Something?> FloatProbe;
これは不可能だと思いますが、C ++で人々が何かをしているのを見たことがありますが、これまでは不可能だったと思います。
アップデート:
- 1つ増やす必要はありません。重要なのは、すべてのプローブに独自の番号があることだけです。
- 異なる.cppファイル\変換ユニット間で一意の番号を持つ必要はありません。