今天写循环的时候碰到一个问题,发现:string.length()返回的类型是size_type.它是unsigned 类型.string::size_type它在不同的机器上,长度是可以不同的,并非固定的长度.但只要你使用了这个类型,就使得你的程序适合这个机器.与实际机器匹配. 如果你的机器是32位的,那么 int len = str.length(),就侥幸对了. 如果你的机器是64位的,那么你就 被fuck 了. unsigned 类型两个数相减,如果是结果负数,就fuck了!显然不会得…