英文原文
http://www.kbasm.com/cpp-smart-pointer-memory-management.html
简单说,VC 2005和2008的STL库会对迭代器进行越界检查,很好的调试功能,可惜在release版里这个也是缺省打开的,导致STL迭代器非常非常慢。
所以一定要在发布版中把这个功能禁止掉,方法很简单,把宏_SECURE_SCL定义成0就行了。
VC 2010 也有这个检查,但只在debug版打开,release版则缺省禁止了,所以没问题。
本文介绍如何在Visual C++ 2005和2008的发布版本中禁用STL迭代器的越界检查,以提高程序运行效率。文中提到,在这些版本中,即使是在发布版本中,迭代器的越界检查也会导致性能下降,而通过定义宏_SECURE_SCL为0可以关闭这一检查。
英文原文
http://www.kbasm.com/cpp-smart-pointer-memory-management.html
简单说,VC 2005和2008的STL库会对迭代器进行越界检查,很好的调试功能,可惜在release版里这个也是缺省打开的,导致STL迭代器非常非常慢。
所以一定要在发布版中把这个功能禁止掉,方法很简单,把宏_SECURE_SCL定义成0就行了。
VC 2010 也有这个检查,但只在debug版打开,release版则缺省禁止了,所以没问题。

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