Assert.h
assert.h és un fitxer de capçalera de la biblioteca estàndard C. Defineix l'assert de macro del preprocessador C i implementa l'asserció en temps d'execució a C.[1] assert.h es defineix a ANSI C com a part de la biblioteca estàndard C. En el llenguatge de programació C++, assert.h i < cassert > estan disponibles; tots dos són funcionalment equivalents. ÚsLa macro assert implementa l'asserció en temps d'execució. Si l'expressió és falsa, la macro imprimirà un missatge a A continuació es mostra un programa que utilitza la amcro assert. Aquest programa sempre avaluarà punter com a fals, com a pointer és un punter nul i no apunta a una ubicació de memòria vàlida: [4] #include <assert.h>
int main()
{
void* pointer = 0;
assert(pointer);
return 0;
}
En compilar el programa i executar-lo, sortirà un missatge semblant al següent: program: source.c:5: main: Assertion 'pointer' failed.
Aborted (core dumped)
La definició de l' assert</link> la macro canvia en funció de la definició d'una altra macro, NDEBUG. Si NDEBUG es defineix com un nom de macro, la macro assert es defineix com #define assert(ignore) ((void)0), d'aquesta manera, la macro no avalua l'expressió. L'ús de NDEBUG pot afectar el comportament general d'un programa si un o més assert les declaracions contenen efectes secundaris, ja que aquestes declaracions no s'avaluen. La macro assert no inclou cap missatge d'error. No obstant això, l'operador de coma es pot utilitzar per afegir-lo a l'expressió impresa, com a assert (( "Not Orwellian" , 2 + 2 == 5 )). static_assertLa macro Referències
|
Portal di Ensiklopedia Dunia