为什么Overflow不是循环的

  • 本文关键字:循环 Overflow c++
  • 更新时间 :
  • 英文 :


为什么在布尔值的情况下,溢出不会以循环方式发生。例如,当你达到128并递增时,说a=126,如果范围是-127到128,则a变为-127。类似地,对于布尔值,它是0到1,所以它应该在0101010101周围移动,依此类推。请澄清

using namespace std; 
int main() 
{ 
bool a; 
for (a = 1; a <= 5; a++) 
cout << a; 
return 0; 
} 

来自cppreference

如果预增量运算符的操作数类型为bool,则将其设置为true

如果后增量运算符的操作数类型为bool,则将其设置为true

请注意,这种行为在C++17中被删除,并且您的代码不会使用较新的标准编译(可能是因为它令人困惑(。

最新更新