swithun333

首先如果你是一段语句

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了,因为无符号数相减也会转为无符号数,所以会一补码来表示

分类:

技术点:

相关文章: