static inline en headers en C
Una función chica en un header debe ser static inline, o cada archivo que lo incluye choca.
#include <stddef.h>
static inline int clamp(int value, int low, int high) {
if (value < low) {
return low;
}
if (value > high) {
return high;
}
return value;
}
static inline size_t min_size(size_t a, size_t b) {
return (a < b) ? a : b;
}
int clamped_sum(int a, int b) {
return clamp(a, 0, 100) + clamp(b, 0, 100);
}
Cómo funciona
staticle da a cada unidad de traducción su propia copia.inlineinvita al compilador a expandirla en el lugar.- Es la alternativa con tipos seguros a una macro con forma de función.
Palabras clave y builtins usados aquí
ifinlineintreturnsize_tstatic
El intento, en números
- Líneas
- 19
- Caracteres a escribir
- 318
- Tokens
- 98
- Ritmo de tres estrellas
- 95 tpm
Al ritmo de tres estrellas de 95 tokens por minuto, este intento toma unos 62 segundos.
Paso 4 de 4 en Macros; paso 4 de 12 en Preprocesador y encabezados.