Как включить проверку привязки для operator[] и итераторов?
Проверка привязки GCC STL
Ответ 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[].