Учитывая следующее:
template<typename T>
class A
{
public:
static const unsigned int ID = ?;
};
Я хочу, чтобы ID генерировал уникальный идентификатор времени компиляции для каждого T. Я рассмотрел __COUNTER__
и библиотеку ускорения PP, но пока не увенчался успехом. Как я могу достичь этого?
Изменить: идентификатор должен использоваться как случай в инструкции switch
Edit2: все ответы, основанные на адресе статического метода или члена, неверны. Хотя они и создают уникальный идентификатор, они не разрешаются во время компиляции и поэтому не могут использоваться как случаи оператора switch.