◐ Shell
clean mode source ↗

assert – cppreference.com

Aus cppreference.com

<metanoindex/>

<tbody> </tbody>

definiert in Header

<cassert>

#ifdef NDEBUG #define assert(condition) ((void)0) #else #define assert(condition) /*implementation defined*/ #endif

Die Definition des Makros assert hängt von einem anderen Makro, NDEBUG, die nicht von der Standard-Bibliothek definiert ist .

Original:

The definition of the macro assert depends on another macro, NDEBUG, which is not defined by the standard library.

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Wenn NDEBUG als Makronamen an der Stelle im Quellcode, wo <cassert> enthalten ist definiert wird, dann assert nichts .

Original:

If NDEBUG is defined as a macro name at the point in the source code where <cassert> is included, then assert does nothing.

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Wenn NDEBUG nicht definiert ist, dann assert prüft, ob ihr Argument (das muss skalar Art haben) vergleicht gleich Null. Ist dies der Fall, assert ausgibt Umsetzung Diagnose-Informationen über die Standard-Fehlerausgabe und ruft std::abort. Die Diagnoseinformationen ist erforderlich, um den Text der expression sowie die Werte der Standard-Makros __FILE__, __LINE__, und die Standard-Variable __func__ gehören .

Original:

If NDEBUG is not defined, then assert checks if its argument (which must have scalar type) compares equal to zero. If it does, assert outputs implementation-specific diagnostic information on the standard error output and calls std::abort. The diagnostic information is required to include the text of expression, as well as the values of the standard macros __FILE__, __LINE__, and the standard variable __func__.

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Parameter

condition -

Ausdruck der skalaren Typ

Original:

expression of scalar type

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Rückgabewert

(None)

Original:

(none)

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Beispiel

#include <iostream>
// uncomment to disable assert()
// #define NDEBUG
#include <cassert>

int main()
{
    assert(2+2==4);
    std::cout << "Execution continues past the first assert\n";
    assert(2+2==5);
    std::cout << "Execution continues past the second assert\n";
}

Output:

Execution continues past the first assert
test: test.cc:8: int main(): Assertion `2+2==5' failed.
Aborted

Siehe auch

statische Behauptung

führt Kompilierung assertion checking (seit C++11)

Original:

performs compile-time assertion checking (seit C++11)

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[edit]

verursacht abnormale Beendigung des Programms (ohne Reinigung)

Original:

causes abnormal program termination (without cleaning up)

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.


(Funktion) [edit]