Я не писал ни одного С++ годами, и теперь я пытаюсь вернуться к нему. Затем я столкнулся с этим и подумал о том, чтобы отказаться:
typedef enum TokenType
{
    blah1   = 0x00000000,
    blah2   = 0X01000000,
    blah3   = 0X02000000
} TokenType;
Что это? Почему ключевое слово typedef используется здесь? Почему имя TokenType появляется в этом объявлении дважды? Чем отличается семантика от этого:
enum TokenType
{
    blah1 = 0x00000000,
    blah2=0x01000000,
    blah3=0x02000000
};
