- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
enum SomeEnum
{
// ...
SomeShit = 0xD6,
// ...
};
// ....
Byte opcode = ReadSomeShit<Byte>(); // функция читающая raw memory в нужном представлении
// из raw memory считано значение эквивалентное 0xD6
// ...
if (opcode == SomeShit) // условие не выполнилось
{
// do stuff
}
// ...
kurwa 08.07.2016 23:14 # 0
meinf 09.07.2016 00:59 # 0
myaut 09.07.2016 01:01 # +2
Выстрел в левую ногу
> enum SomeEnum
Выстрел в правую ногу.
Да, кресты это позволяют, и не говорите, что мы вас не предупреждали.
BTW, в C++11
- сделает вам ошибку компиляции: https://ideone.com/sOaUou
meinf 09.07.2016 01:11 # +3
> Выстрел в правую ногу.
да это понятно, но человек писавший это не знал/не предусмотрел, компилятор не подсказал, а язык разрешает...и потом внезапно находится бага с непонятно откуда растущими ногами
> enum SomeEnum : int8_t
про это я тоже вкурсе, так и сделал кстати в конечном счете (только от того самого Byte, который стал uint8_t)
bormand 09.07.2016 06:14 # +3
meinf 09.07.2016 12:14 # 0
Antervis 10.07.2016 17:46 # 0
bormand 10.07.2016 17:52 # +1
Antervis 10.07.2016 19:15 # +3
bormand 10.07.2016 19:27 # 0
Antervis 10.07.2016 19:46 # +4
gost 09.07.2016 12:08 # +3
bormand 09.07.2016 12:10 # +5
bormand 09.07.2016 12:14 # 0
Antervis 10.07.2016 17:46 # 0
guest 09.07.2016 20:24 # +1
Antervis 10.07.2016 17:53 # 0
Меня по факту забавляет что тип char не является ни unsigned char, ни signed char
bormand 10.07.2016 17:54 # +2