It seems that _SECURE_SCL_THROWS is deprecated in Visual Studio C++ 2010

It seems that _SECURE_SCL_THROWS is deprecated in Visual Studio C++ 2010. Because include file ‘Microsoft Visual Studio 10.0\VC\include\yvals.h’ has the following code block:

#if _SECURE_SCL_THROWS
#ifndef _SILENCE_DEPRECATION_OF_SECURE_SCL_THROWS
...
#undef _SECURE_SCL_THROWS
#pragma _CRT_WARNING( _DEPRECATE_SECURE_SCL_THROWS )
...

It gets undefined, and if you search c++ header files, there are no references to _SECURE_SCL_THROWS anymore. The strange part is, that latest documentation still have reference to _SECURE_SCL_THROWS, which states that it is valid macro, and ‘Defines whether incorrect use of Checked Iterators causes an exception or a program termination’.

The good news is, that _SECURE_SCL is enabled by default, that causes _ITERATOR_DEBUG_LEVEL to be enabled, that causes iterators to break program debug version if you do something wrong with stl iterators.