可能是重复问题:
GCC STL边界检查
在g++ STL中是否有类似于std:vector的自动调试版本?如果没有,我该如何实现一个?
我想要的是在我的g++调用中指定一个调试参数,例如:
g++ -D DEBUG_ main.cpp
当定义了这个参数时,我希望所有的std::vectors在访问元素时都要检查它们的边界,就像使用vector::at()一样。
当省略了该参数时,我希望所有的向量都表现得好像使用了正常的[]运算符,也就是说不会因为边界检查而浪费性能。
我听说VC++做了类似的事情。所以我的问题是如何使用g++来实现这个功能?
at
而不是operator[]
所带来的性能浪费。 - chris