0

可能重复:
C++ 越界访问数组没有给出错误,为什么?

我在 Windows 上使用 Qt creator 时经常遇到数组问题。当我的程序尝试访问一个不存在的内存单元时,会出现随机崩溃,因此很难调试。

当我的程序访问不存在的内存单元时,是否有任何库或选项可以检查以停止程序?

例子:

int * toto = new int [4];
toto[6] =2;

导致提到的随机行为。

我在使用 Qt creator 4.8.1 的 Windows 7 上。

4

1 回答 1

0

正如@axeoth 在评论中提到的,没有办法检查索引是否超出 C++ 数组的范围。

如果您正在寻找特定于 Qt 的容器类,您可以查看QList<T>QVector<T>.

您可以在Qt Container Classes中找到更多详细信息。

于 2013-01-04T11:55:01.680 回答