首先如果你是一段语句
for(int i=0;i<a.size();i++)这个时候会报错
comparison between signed and unsigned integer expressions
其实我们要理解到a.size()的出来的结果其实是无符号数,所以这里直接比较会有一个报错,最好强制转换为(int)也可以不用管
但是如果你加了一句a.size()-2但是a.size()=1这个时候相减就会出现INT_MAX-1了,因为无符号数相减也会转为无符号数,所以会一补码来表示