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