Programação Genérica em C: Uma Comparação de Quatro Abordagens

A falta de suporte a tipos genéricos (polimorfismo paramétrico) em C é uma frustração comum. Este artigo explora quatro métodos para emular genéricos em C: macros de modelo, cabeçalhos de modelo, apagamento de tipo e macros de inserção. Macros de modelo são simples, mas sofrem de legibilidade e propensão a erros; cabeçalhos de modelo melhoram a legibilidade, mas ainda têm desafios de nomenclatura; o apagamento de tipo sacrifica a segurança de tipo, mas é útil para FFI ou vinculação dinâmica; macros de inserção são fáceis de usar, mas levam à inflação de código. Em última análise, o autor sugere escolher entre cabeçalhos de modelo (mais fáceis de desenvolver) e macros de inserção (mais fáceis de usar) com base nas necessidades do projeto.