@anrieff, actually it is a very interesting field for discussion. During this one, I made a lot of researches about signed
vs. unsigned
. I think some of my conclusions may be interesting for you.
-
Unsigned types hides bugs on overflow.
-
Signed overflow is UB that makes the program's behavior non-deterministic. It actually could hide bugs too.
-
for i := 0 to List.Count - 1 do
> // do something here