Última actualización:2026-10-12
Aserciones assert en C++¶
Sobre el autor:¶
Cuenta pública personal de WeChat:

1. Primer ejemplo de aserción¶
Una aserción es una macro, no una función.
El prototipo de la macro assert está definido en
Se puede desactivar assert definiendo NDEBUG, pero debe hacerse al comienzo del código fuente, antes de incluir
Ejemplo de código: assert.c
Código de ejemplo: ignore_assert.c#include <stdio.h> #include <assert.h> int main() { int x = 7; /* Some big code in between and let's say x is accidentally changed to 9 */ x = 9; // Programmer assumes x to be 7 in rest of the code assert(x==7); /* Rest of the code */ return 0; } ```Salida: ```c assert: assert.c:13: main: Assertion 'x==7' failed. ```Como se puede ver, la salida muestra el archivo de código fuente y la línea donde se encuentra el error. ## 2. Aserciones frente al manejo normal de errores + Las aserciones se utilizan principalmente para comprobar situaciones lógicamente imposibles. >Por ejemplo, pueden usarse para comprobar el estado que el código espera antes de comenzar a ejecutarse, o para comprobar el estado una vez finalizada la ejecución. A diferencia del manejo normal de errores, las aserciones suelen estar deshabilitadas en tiempo de ejecución. + Para ignorar las aserciones, añade al comienzo del código: ```c++ #define NDEBUG // 加上这行,则 assert 不可用
Temas relacionados¶
- Funciones virtuales puras y clases abstractas en C++ | C++那些事
- Campos de bits en C++ | C++那些事
- Implementar el polimorfismo de C++ en lenguaje C | C++那些事
- const en C++: constantes y modificación | C++那些事
- La familia completa de const en C++ | C++那些事
- El operador de desreferencia * en C++ | C++那些事
- Inicialización y asignación en C++ | C++那些事
- Formas de devolver varios valores en C++ | C++那些事
- La palabra clave mutable en C++ | C++那些事
- C++ restrict y optimización del compilador | C++那些事