Superseded by _ITERATOR_DEBUG_LEVEL, this macro defines whether Checked Iterators are enabled. By default, checked iterators are enabled in Debug builds, and disabled in Retail builds.


Direct use of the _SECURE_SCL macro is deprecated. Instead, use _ITERATOR_DEBUG_LEVEL to control checked iterator settings. For more information, see _ITERATOR_DEBUG_LEVEL.


When checked iterators are enabled, unsafe iterator use causes a runtime error and the program is terminated. To enable checked iterators, set _ITERATOR_DEBUG_LEVEL to 1 or 2. This is equivalent to a _SECURE_SCL setting of 1, or enabled:


To disable checked iterators, set _ITERATOR_DEBUG_LEVEL to 0. This is equivalent to a _SECURE_SCL setting of 0, or disabled:


For information on how to disable warnings about checked iterators, see _SCL_SECURE_NO_WARNINGS.

See also

Checked Iterators
Debug Iterator Support
Safe Libraries: C++ Standard Library