_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.