for循环的计数类型,请务必谨慎 在vscode中的for循环计数类型,自动填充方案是用的 std::size_t ,本以为天经地义,计数应该大于等于0。 但是坑来了,当有一个int型数据和引用计数比较的时候,会出现 -1 > i 恒成立的谬误。C++在未提醒我们的情况下,将 -1 转换为 unsigned 类型,就是无符号类型中最大的那个数! 所以,在有引用计数比较的计算中,请务必将引用计数设为 int 类型 。 int i = 100; bool k = -1 > i; //k = false; unsigned j = 100; k = -1 > j; //k = true;