size函数Xcode老是标黄
在STL中,无论什么数据类型,size()函数返回的类型是一个无符号整形(unsigned) ,当size()为0时,返回值是00000000 00000000 00000000 00000000(32位,32个0),而该值减1时,由计算机组成的原理知,CPU的ALU没有减法器,只有加法器,所以变成+(-1)运算,可是-1在内存中的值为11111111 11111111 11111111 11111111(32位,32个1,补码),而一个无符号数加一个有符号数,CPU直接把它们当两个无符号数,相加的结果为11111111 11111111 11111111 11111111(32位,32个1,无符号整数),转为10进制是4294967295,所以0-1没有变成-1,而是变成了一个很大的数。注意不要使用时出现错误。
vector使用size函数
string使用size函数
参考:https://blog.csdn.net/L1558198727/article/details/86944212