11

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

4

1 回答 1

9

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

可以通过定义宏_HAS_ITERATOR_DEBUGGING以及_SECURE_SCL0代码或 Visual Studio 项目属性中禁用调试迭代器。

相关:STL 中不必要的锁定?(Visual C++ 速成版)

于 2013-11-28T02:38:40.233 回答