2012-05-14 58 views
3

可能重複:
GCC STL bound checking的std :: vector的調試和發佈構建

有什麼樣的性病的自動調試版本:在G ++ STL,如果矢量不是我怎麼能做到一個?

我想什麼是我克至指定調試參數++調用例如:

g++ -D DEBUG_ main.cpp 

當此參數定義我希望所有我的std ::向量accesing元素時檢查其boundarys中,當使用vector :: at()時。

當省略參數時,我希望所有向量的行爲就像使用普通[]運算符一樣,這​​意味着對於邊界檢查來說性能沒有「浪費」。我聽說VC++做了這樣的事情。所以我的問題是如何對此使用g ++?

+0

,我也不會太在意性能的浪費使用'at'了'操作符[]'。 – chris

+4

@chris:你可能不是,但我們中的一些人。 –

回答

0

在調試模式下,你可以有更多的斷言和檢查,但使用at()[]它總是在你身邊。

at() - 拋出out_of_bounds例外,[] - 不要

相關問題