用for循环写vector的.size()时候,避免以下写法:
vector<int>a;
for(int i = 0;i <= a.size() - 1;i++){}
因为若a的为空时候,a.size()会返回一个无符号的整型,与 -1 相加会越界
,原因是无符号数和有符号数相加,有符号数会被提升为无符号数,那么符号位就变成了数值位,导致越界
正确写法:
vector<int>a;
for(int i = 0;i < a.size();i++){}
用for循环写vector的.size()时候,避免以下写法:
vector<int>a;
for(int i = 0;i <= a.size() - 1;i++){}
因为若a的为空时候,a.size()会返回一个无符号的整型,与 -1 相加会越界
,原因是无符号数和有符号数相加,有符号数会被提升为无符号数,那么符号位就变成了数值位,导致越界
正确写法:
vector<int>a;
for(int i = 0;i < a.size();i++){}