Participer au site avec un Tip
Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Vous êtes un professionnel et vous avez besoin d'une formation ? Programmation avec
Le langage C
Voir le programme détaillé

Librairie <assert.h> - <cassert> en C++

La macro assert


Accès rapide :
Eléments documentés
Note POSIX

L'entête <assert.h>, ou <cassert> en C++, permet de placer des vérifications dans le code. Ces vérifications servent à détecter rapidement une situation incohérente pendant le développement ou lors de campagnes de tests.

Côté ISO C, cet entête définit la macro assert, fait intervenir la macro NDEBUG, et expose depuis C23 la macro de version __STDC_VERSION_ASSERT_H__. Le mot clé static_assert est aussi présenté dans cette section, car il prolonge naturellement la notion d'assertion, même si son statut a évolué avec les versions du langage.

Eléments documentés

Nom Description
assert Macro d'assertion évaluée à l'exécution.
NDEBUG Macro permettant de désactiver les appels à assert lors de l'inclusion de <assert.h>.
static_assert (C11) Assertion vérifiée à la compilation. En C23, static_assert est directement un mot clé.
__STDC_VERSION_ASSERT_H__ (C23) Macro indiquant la version de l'entête <assert.h>.

Note POSIX

POSIX ne rajoute pas de fonction propre à <assert.h>. Le standard POSIX s'aligne sur ISO C pour cet entête, en rappelant que assert doit être une macro et qu'elle est redéfinie à chaque inclusion selon l'état courant de NDEBUG.



La macro assert




Vous êtes un professionnel et vous avez besoin d'une formation ? Programmation avec
Le langage C
Voir le programme détaillé