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[].

Interesting Posts