Есть ли смысл контролировать в типах uint/int выход за границы если они делают как раз то что мне нужно? Например, если uint32_t значение перевалит за максимум, оно же начнет с 0 по новой считывать. Должен ли я за этим следить вручную? Как компиляторы разные на это реагируют?