Freigeben über


_ITERATOR_DEBUG_LEVEL

Das Makro _ITERATOR_DEBUG_LEVEL (IDL) löst ab und kombiniert die Funktionen der Makros _SECURE_SCL (SCL) und _HAS_ITERATOR_DEBUGGING (AUSGEBLENDET).

Makrowerte

Die folgenden Tabellen enthalten eine Zusammenfassung der Werte für die Makros _SECURE_SCL und _HAS_ITERATOR_DEBUGGING 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 AUSGEBLENDETEN 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 für Releasebuilds aktiviert werden.

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

Kompilierungsmodus

Neues Makro

Alte Makros

Beschreibung

Debuggen

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, sind Benutzer häufig unsicher, die in einer bestimmten Situation zu verwenden das Makro und Makrowert. Um dieses Problem zu beheben, wird empfohlen nur das Makro _ITERATOR_DEBUG_LEVEL verwenden.

Siehe auch

Referenz

Sichere Bibliotheken: C++-Standardbibliothek