123
enum MyEnum { _A, _B, _C };
12345678910111213
MyEnum type; switch(type){ case _A: //do something break; case _B: //do something break; case _C: //do something break; }
123456
cmp type, _A je cmp type, _B je cmp type, _C je
123456789101112
MyEnum type; void* jumps[] = {_A, _B, _C}; __asm jmp dword ptr [jumps + type * 4] _A: //do something _B: //do something _C: //do something