GCC STL-gebundene Prüfung

Lesezeit: 1 Minute

GCC STL gebundene Prufung
Bild11

Wie aktiviere ich die gebundene Überprüfung für operator[] und Iteratoren?

1646262014 663 GCC STL gebundene Prufung
Peter g.

Sie können Laufzeit-Iterator und Begrenzungsprüfung aktivieren, indem Sie mit kompilieren -D_GLIBCXX_DEBUG. Beachten Sie auch, dass Container mit wahlfreiem Zugriff die ständige Überprüfung der Grenzen bereitstellen at()-Betrieb zusätzlich zu operator [].

Verweise:

GCC-STL-Debug-Modus:
http://gcc.gnu.org/onlinedocs/libstdc++/manual/debug_mode_using.html#debug_mode.using.mode

at()-Operation: std::vector::at(), std::deque::at() und std::array::at()

  • Beachten Sie, dass die Verwendung des Debug-Modus ABI ändert, sodass Sie keine Module mischen können, die mit und ohne kompiliert wurden -DGLIBCXX_DEBUG.

    – Ruslan

    26. Oktober 2017 um 6:57 Uhr

  • @Ruslan Der richtige Symbolname ist _GLIBCXX_DEBUG.

    – Evg

    9. September 2020 um 12:39 Uhr

Sie sollten die überladen operator[] für Ihren speziellen Unterricht. Wenn Sie einen vorhandenen STL-Container verwenden möchten, ist die at() -Funktion ist eine grenzengeprüfte Version der operator[].

917030cookie-checkGCC STL-gebundene Prüfung

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy