GCC STL绑定检查
如何为operator[]
和迭代器启用边界检查?
您可以通过使用 – D_GLIBCXX_DEBUG
进行编译来激活运行时迭代器和边界检查。 还要注意,随机访问容器除了operator []
之外at()
operator []
提供总是检查边界。
参考文献:
GCC STLdebugging模式: 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()
你应该为你的特定类重载operator[]
。 如果要使用现有的STL容器, at()
函数是operator[].
的边界检查版本operator[].