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