英文原文
[url]http://www.kbasm.com/cpp-smart-pointer-memory-management.html[/url]
简单说,VC 2005和2008的STL库会对迭代器进行越界检查,很好的调试功能,可惜在release版里这个也是缺省打开的,导致STL迭代器非常非常慢。
所以一定要在发布版中把这个功能禁止掉,方法很简单,把宏_SECURE_SCL定义成0就行了。
VC 2010 也有这个检查,但只在debug版打开,release版则缺省禁止了,所以没问题。
[url]http://www.kbasm.com/cpp-smart-pointer-memory-management.html[/url]
简单说,VC 2005和2008的STL库会对迭代器进行越界检查,很好的调试功能,可惜在release版里这个也是缺省打开的,导致STL迭代器非常非常慢。
所以一定要在发布版中把这个功能禁止掉,方法很简单,把宏_SECURE_SCL定义成0就行了。
VC 2010 也有这个检查,但只在debug版打开,release版则缺省禁止了,所以没问题。
本文介绍如何在VC2005和2008的发布版中禁用STL迭代器的越界检查,以提高性能。文章指出VC2010在发布版中已默认关闭此功能。
6849

被折叠的 条评论
为什么被折叠?



