GCC STL绑定检查

时间:2011-04-08 11:55:53

标签: c++ gcc stl bounds-checker

如何为operator[]和迭代器启用绑定检查?

2 个答案:

答案 0 :(得分:62)

您可以通过使用-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()

答案 1 :(得分:1)

你应该为你的特定课程重载operator[]。如果要使用现有的STL容器,at()函数是operator[].

的边界检查版本