45

如何启用边界检查operator[]和迭代器?

4

2 回答 2

72

您可以通过编译来激活运行时迭代器和边界检查-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()

于 2011-04-08T11:59:06.860 回答
1

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

于 2011-04-08T12:00:10.603 回答