typestar

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

  1. static le da a cada unidad de traducción su propia copia.
  2. inline invita al compilador a expandirla en el lugar.
  3. Es la alternativa con tipos seguros a una macro con forma de función.

Palabras clave y builtins usados aquí

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.

Escribe este fragmento

Paso 4 de 4 en Macros; paso 4 de 12 en Preprocesador y encabezados.

← Anterior Siguiente →