Массив вне диапазона обнаружения

Возможный дубликат:
C ++ Доступ к массиву вне границ не дает ошибок, почему?

У меня есть повторяющаяся проблема с массивом с помощью Qt Creator на Windows. Когда моя программа пытается получить доступ к ячейке памяти, которая не существует, происходят случайные сбои, поэтому ее очень трудно отладить.

Есть ли какая-либо библиотека или опция, чтобы проверить, чтобы остановить программу, когда моя программа обращается к несуществующей ячейке памяти?

Пример:

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

Приводит к упомянутому случайному поведению.

Я на Windows 7 использую Qt Creator 4.8.1.

0

Решение

Как упоминалось в комментарии @axeoth, нет способа проверить, находится ли индекс вне диапазона для массива C ++.

Если вы ищете специфичные для Qt контейнерные классы, вы можете взглянуть на QList<T> или же QVector<T>,

Вы можете найти более подробную информацию на Контейнерные классы Qt.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]