【发布时间】:2014-05-22 05:07:38
【问题描述】:
我有一个广泛使用 STL 向量和 Boost 多数组的应用程序。该应用程序对性能非常敏感,因为它实时分析大量数据。
由于向量和多数组会进行越界检查,因此我预计会招致一些性能损失。我想知道是否有办法只在开发期间允许错误检查,但在生产中禁用它。
那么,我想知道这是否真的可行,以及它是否会对我的容器的性能产生影响?
【问题讨论】:
-
这取决于容器和访问类型,但我不会说“STL 和 boost 容器进行越界检查”。他们通常不会。
-
有趣。我主要使用 STL 向量和 Boost 多数组。当我顽皮时,他们对我尖叫。感谢您指出,我进行了编辑。
-
您使用的是哪个编译器/STL?通常有这样做的标志。
-
@nwp VC++ 来自 Visual Studio 2013
-
这在 SO 上重复了无数次,你试过搜索吗?