一行代码让vector自带下标范围检查
一行代码让vector自带下标范围检查
#include <vector>
前#define _GLIBCXX_DEBUG
就行
1 |
|
也可以在cmake传递参数add_definitions(-D_GLIBCXX_DEBUG)
开启
_GLIBCXX_DEBUG说明
_GLIBCXX_DEBUG
是一个用于启用C++标准库的调试模式的宏定义。当定义了这个宏时,会启用GCC(GNU Compiler Collection)中libstdc++标准库的调试模式,该模式提供了一些额外的运行时检查来捕获一些常见的C++程序错误,如数组越界、迭代器失效等。
在使用_GLIBCXX_DEBUG
时,编译器会对标准库的数据结构和操作进行更严格的检查,这可能会导致性能下降,但有助于发现和调试潜在的程序错误。
需要注意的是,使用_GLIBCXX_DEBUG
会导致程序的执行速度变慢,并且会增加一些内存开销,因为额外的检查会增加程序的运行时负担。通常情况下,只有在调试阶段才会使用_GLIBCXX_DEBUG
来帮助捕获和修复一些难以发现的错误。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 xd's blog!
评论