в существующей кодовой базе, написанной кем-то, кого я больше не могу спрашивать, я вижу довольно много случаев преобразования переменной в ее собственный тип.
uint32_t message_id = [...];
[...]
switch ((uint32_t)message_id)
{
[...]
Слишком много случаев, чтобы просто сказать, что это осталосьнапример, из-за изменения типа переменной на более позднем этапе.
Если я попробую это в проводнике компилятора, компилятор сгенерирует идентичную сборку с -O0
.
Может кто-нибудь придумать причинуразработчик мог бы сделать это таким образом?