Comment
Comment by stop50
im not an c++ expert, but it looks like the unreachable macro of rust.
In rust it allows optimizing the generated binary to not care about special paths.
If an integer can only be 1-4, then it doesn't make sense to dedicate an code path for 0 or 5+ that will never be called.
in an explicit for loop its easy to know for the compiler, but when this information crosses boundaries like function calls then it can make it easier and can reduce the binary size.