The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.
We recommend using Visual Studio 2017



The latest version of this topic can be found at _SECURE_SCL.

Defines whether Checked Iterators are enabled. By default, checked iterators are enabled in Debug builds, and disabled in Retail builds.

System_CAPS_ICON_important.jpg Important

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 implies a _SECURE_SCL setting of 1, or enabled:


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


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

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