gpt4 book ai didi

C++:使用 try/catch 访问未知大小的数组

转载 作者:行者123 更新时间:2023-11-30 00:36:06 24 4
gpt4 key购买 nike

我使用 Java 已经有一段时间了,后来不得不回到 C++。以前在C++里用try/catch用的不多,现在再工作的时候遇到了一个很可能很傻的问题。

我有一个大小未知的数组,想计算出其中存在的所有数字。但是,我不想使用 C++ vector ,它会给我一个精确的大小。我尝试的是有一个不应该自行结束的 for 循环。我想在抛出异常时中断它,我会捕获并处理问题。但是,它不起作用,也不会抛出异常。

谁能教教我? :) 谢谢。

    for(int i = 0; i < 1000; i++) {
try {
cout << symbols[i] << " ";
} catch (int ex) {
cout << "thrown";
break;
}
}

最佳答案

越界访问数组会产生未定义的行为,这并非异常(exception)。
未定义的行为意味着该程序不再是有效的 C++ 程序,并且可能显示任何行为,无论是正确的还是不正确的,但您不能依赖它来保持一致。
您需要自己跟踪大小并使用该大小进行循环或根据需要抛出异常。

关于C++:使用 try/catch 访问未知大小的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17002933/

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