Mar*_*s V 10
如果您正在使用gcc,则可以使用_GLIBCXX_DEBUG和_GLIBXX_DEBUG_PEDANTIC进行编译.如果请求超出边界访问,这将启用glibc断言.
使用valgrind :: memcheck进行测试也会显示内存读取错误
是的:Valgrind.
还有很多其他人:http://en.wikipedia.org/wiki/Memory_debugger.
还要注意,例如,大多数实现std::vector
具有调试模式,它们将执行运行时边界检查.