什么std :: _ lockit呢?

时间:2013-05-27 09:29:45

标签: c++ performance std

我检查了c ++项目的表现,结果对我来说不太清楚 std::_lockit::int()拥有超过20%的独家样本。它做了什么以及如何避免过度使用它?我用std::vector创建了很多东西,所以希望它们是相互联系的。

1 个答案:

答案 0 :(得分:9)

_Lockit常用于Microsoft的STL实现中,用于调试迭代器。在生产环境中,这些可能会导致重大性能瓶颈,同时迭代具有大量元素的容器。

可以通过在代码或Visual Studio项目属性中将宏_HAS_ITERATOR_DEBUGGING_SECURE_SCL定义为0来禁用调试迭代器。

相关:Unnecessary locking in STL? (Visual C++ Express)