关于字符串函数size()的问题

首先如果你是一段语句

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

猜你喜欢

转载自www.cnblogs.com/swithun333/p/12920025.html