mam tej klasy:Zwiększenie czasu kompilacji zmienna z każdej instancji rodzajowe klasy
template <typename T, uint64_t N>
struct Probe {
static const uint64_t Counter = N;
typedef T Type;
};
Który ja wykorzystać jako:
typedef Probe <int, 0> FirstIntProbe;
typedef Probe <int, 1> SecondIntProbe;
typedef Probe <float, 2> FloatProbe;
Czy jest możliwe aby utworzyć raz skompilować \ metodę makro co pozwala mi na utworzenie instancji tej klasy bez określenia drugiego parametru, takiego jak:
typedef Probe <int, Something?> FirstIntProbe;
typedef Probe <int, Something?> SecondIntProbe;
typedef Probe <float, Something?> FloatProbe;
Zakładam to nie jest możliwe, ale znowu widziałem, jak ludzie robią różne rzeczy w C++, o których wcześniej nie sądziłem.
Aktualizacja:
- Nie jest konieczne, aby zwiększyć o jeden, to jest po prostu ważne, że każda sonda posiada swój własny numer.
- Nie jest konieczne posiadanie niepowtarzalnej liczby w różnych plikach .cpp \ jednostek tłumaczeniowych.
Czy ważne jest, aby wartości N zaczynały się od 0 i zawsze były sekwencyjne? A co z zachowaniem w jednostkach tłumaczeniowych? Niektóre kompilatory mają wartość "__COUNTER__", która może wystarczyć dla twoich celów. –
Zaktualizowano pytanie –