来点有警示性的东西
  • 板块灌水区
  • 楼主HaneDaniko
  • 当前回复9
  • 已保存回复9
  • 发布时间2024/8/9 10:43
  • 上次更新2024/8/9 11:32:42
查看原帖
来点有警示性的东西
1161172
HaneDaniko楼主2024/8/9 10:43

适才我使用了如下语句

for(int i=0;i<=g.size()-2;++i){

因为循环里调用了 g[i+1],因此 g.size()-2 是意在防止数组越界的。假如数组长度不足 22,理论上这个 for 循环完全不会执行。

但是当 size=1 时这玩意炸了。

因为 g.size() 是一个 insigned integer,当 g.size()=1 时,g.size()-2=18446744073709551615,所以爆炸了。

所以大家要记得随时强转类型。

2024/8/9 10:43
加载中...