Типобезопасные обобщённые структуры данных на C через union и тернарный оператор

Type Safe Generic Data Structures in C

Типобезопасные обобщённые структуры данных на C через union и тернарный оператор

Автор показывает, как реализовать типобезопасные обобщённые структуры данных на C, используя union с параметризованным типом payload и тернарный оператор для проверки типов на этапе компиляции. Подход работает для любых структур — от связных списков до хеш-таблиц — и не требует макросов, раздувающих бинарник. В статье разбираются три уровня обобщённости: void*, встроенное хранение через flexible array member и финальная типовая проверка, а также нюансы с typeof и typedef.

Макросы имеют плохую репутацию, но, на мой взгляд, это довольно понятно.

Ещё за этот день

2026-10-05