适才我使用了如下语句
for(int i=0;i<=g.size()-2;++i){
因为循环里调用了 g[i+1],因此 g.size()-2 是意在防止数组越界的。假如数组长度不足 222,理论上这个 for 循环完全不会执行。
g[i+1]
g.size()-2
但是当 size=1 时这玩意炸了。
size=1
因为 g.size() 是一个 insigned integer,当 g.size()=1 时,g.size()-2=18446744073709551615,所以爆炸了。
g.size()
insigned integer
g.size()=1
g.size()-2=18446744073709551615
所以大家要记得随时强转类型。