Подтвердить что ты не робот

Проверка привязки GCC STL

Как включить проверку привязки для operator[] и итераторов?

4b9b3361

Ответ 1

Вы можете активировать проверку итератора времени выполнения и проверку границ путем компиляции с помощью - D_GLIBCXX_DEBUG. Также обратите внимание, что контейнеры с произвольным доступом предоставляют всегда проверку проверок at() -операции в дополнение к operator [].

Литература:

Режим отладки GCC STL: http://gcc.gnu.org/onlinedocs/libstdc++/manual/debug_mode_using.html#debug_mode.using.mode

at(): std::vector::at(), std::deque::at() и std::array::at()

Ответ 2

вы должны перегрузить operator[] для ваших конкретных классов. Если вы хотите использовать существующий контейнер STL, функция at() - это проверенная границами версия operator[].