gpt4 book ai didi

c++ - 如何抛出超出范围的 C++ 异常

转载 作者:太空宇宙 更新时间:2023-11-04 14:10:47 35 4
gpt4 key购买 nike

我有一个简单的 c++ 方法,可以在 cout 上打印 Ascii 字符 0=255。在这里:

void print_ascii()
{
unsigned char c = 0;

while (c < 255)
{
cout << c << endl;
c = c+1;
}

}// end print_ascii()

int main()
{
print_ascii();
}

上面的代码工作正常但是当我尝试它时我溢出了字符 while (c <= 255) 因为它超出了 unsigned char 符号。

我的问题是如何为这些场景抛出异常 (offbyone),因为有时很难记住类型的上限?

最佳答案

Overflow 通常不会对整数“起作用”,当然 unsigned char 只会回绕。

你可以这样做:

while (c <= 255)
{
cout << c << endl;
int temp = c + 1;
if (temp > 255) throw whatever_excpetion;
c = t;
}

关于c++ - 如何抛出超出范围的 C++ 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14491981/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com