Freigeben über


_ITERATOR_DEBUG_LEVEL

Das Makro _ITERATOR_DEBUG_LEVEL (IDL) löst ab und kombiniert die Funktionalität der Makros _SECURE_SCL (SCL) und _HAS_ITERATOR_DEBUGGING (VERSTECKT).

Makrowerte

Die folgende Tabelle bietet die Werte für die _SECURE_SCL und _HAS_ITERATOR_DEBUGGING-Makros und schließlich zusammengefasst, wie diese Werte durch das _ITERATOR_DEBUG_LEVEL-Makro ersetzt werden.

Im folgenden Abschnitt werden die möglichen Werte des SCL und der VERSTECKTEN Makros.

  • SCL=0
    Deaktiviert überprüften Iteratoren.

  • SCL=1
    Aktiviert überprüfte Iteratoren.

  • HID=0
    Deaktiviert Iteratordebugging in Debugbuilds.

  • HID=1
    Ermöglicht Iteratordebugging in Debugbuilds.HID kann nicht aktiviert werden in Releasebuilds.

Die folgende Tabelle beschreibt, wie die IDL-Makrowerte das SCL und die VERSTECKTEN Makrowerte ablösen.

Kompilierungsmodus

Neues Makro

Die alten Makros

Beschreibung

Debug

IDL=0

SCL=0, HID=0

Deaktiviert überprüften Iteratoren und deaktivieren Iteratordebugging.

IDL=1

SCL=1, HID=0

Aktiviert überprüfte Iteratoren und deaktiviert Iteratordebugging.

IDL=2 (Standard)

SCL= (gilt nicht), HID=1

Standardmäßig aktiviert Iteratordebugging; überprüfte Iteratoren sind nicht relevant.

Release

IDL=0 (Standard)

SCL=0

Standardmäßig überprüften Sperrmechanismen Iteratoren.

IDL=1

SCL=1

Aktiviert überprüfte Iteratoren; Iteratordebugging ist nicht relevant.

Hinweise

Im Releasemodus wird ein Fehler ausgegeben, wenn Sie IDL=2. angeben.

Da die _SECURE_SCL und _HAS_ITERATOR_DEBUGGING-Makros ähnliche Funktionen unterstützen, können Benutzer häufig unsicher, die in einer bestimmten Situation zu verwenden und das Makro, Makrowert.Um dieses Problem zu beheben, wird empfohlen _ITERATOR_DEBUG_LEVEL nur das Makro verwenden.

Siehe auch

Referenz

Sichere Bibliotheken: C++-Standardbibliothek