That's quite a controversial statement. Using unsigned ints may just clutter code without providing any safety. The value of 4e9 is still invalid, even though it's positive. As you say, checking your inputs is important, and in this case values can be too large, and should be rejected.
For instance: http://google-styleguide.googlecode.com/svn/trunk/cppguide.x...