今天在工作时发现了一个问题,当我使用vector的size与-1进行比较的时候,会发现-1是大于size的(此时size为整数)。出现这种问题的原因在于,vector的size是无符号整型,当一个signed int和一个usigned int进行比较的时候,有符号整型会被自动转化为无符号整型,因此负数就会被转化为很大的正数,所以就会出现负数大于正数的情况。
C++ unsigned int 和 int 的比较问题
最新推荐文章于 2022-12-17 19:33:34 发布
今天在工作时发现了一个问题,当我使用vector的size与-1进行比较的时候,会发现-1是大于size的(此时size为整数)。出现这种问题的原因在于,vector的size是无符号整型,当一个signed int和一个usigned int进行比较的时候,有符号整型会被自动转化为无符号整型,因此负数就会被转化为很大的正数,所以就会出现负数大于正数的情况。