ckd_sub
| Definido en el archivo de encabezado <stdckdint.h>
|
||
template< class type1, class type2, class type3 > bool ckd_sub( type1* result, type2 a, type3 b ); |
(desde C++26) | |
Calcula la resta x - y y almacena el resultado en *result. La resta se realiza como si ambos operandos estuvieran representados en un tipo entero con signo de rango infinito, y el resultado se convierte luego de este tipo entero a type1. Si el valor asignado a *result representa correctamente el resultado matemático de la operación, devuelve false. De lo contrario, devuelve true. En este caso, el valor asignado a *result es el resultado matemático de la operación envuelto al ancho de *result.
Parámetros
| a, b | - | Valores enteros. |
| result | - | Dirección donde se debe almacenar el resultado. |
Valor de retorno
false si el valor asignado a *result representa correctamente el resultado matemático de la resta, true en caso contrario.
Nota
La plantilla de función ckd_sub tiene la misma semántica que la macro genérica de tipo correspondiente con el mismo nombre especificada en C23.
Cada uno de los tipos type1, type2, y type3 es un tipo entero con signo o sin signo no calificado por cv.
Se recomienda producir un mensaje de diagnóstico si type2 o type3 no son tipos de enteros adecuados, o si *result no es un l-valor modificable de un tipo entero adecuado.
Ejemplo
| Esta sección está incompleta Razón: sin ejemplo |
Referencias
- Estándar C++26 (ISO/IEC 14882:2026):
- 29.11.2 Operaciones de enteros comprobadas
Véase también
| Operación de suma comprobada en dos números enteros. (plantilla de función) | |
| Operación de multiplicación con comprobación de desbordamiento entre dos enteros. (plantilla de función) | |
Documentación de C para ckd_sub
| |