ฉันยังไม่ได้เขียน C ++ ในเวลาหลายปีและตอนนี้ฉันกำลังพยายามกลับเข้าไป จากนั้นฉันก็วิ่งข้ามสิ่งนี้และคิดเกี่ยวกับการยอมแพ้:
typedef enum TokenType
{
    blah1   = 0x00000000,
    blah2   = 0X01000000,
    blah3   = 0X02000000
} TokenType;
นี่คืออะไร? เหตุใดจึงtypedefใช้คำหลักที่นี่ เหตุใดชื่อจึงTokenTypeปรากฏขึ้นสองครั้งในการประกาศนี้ ความหมายต่างจากนี้อย่างไร
enum TokenType
{
    blah1 = 0x00000000,
    blah2=0x01000000,
    blah3=0x02000000
};