Typsichere Generika in C: Eine clevere Verwendung von Unions
2025-07-01
Dieser Artikel beschreibt eine Technik zur Implementierung typsicherer generischer Datenstrukturen in C, wobei Unions verwendet werden, um Typinformationen mit einer generischen Datenstruktur zu verknüpfen. Der Autor veranschaulicht den Ansatz anhand einer verketteten Liste und zeigt, wie Makros und Unions eine Typprüfung zur Kompilierzeit ermöglichen und somit die Typunsicherheit und den Code-Bloat traditioneller generischer Methoden vermeiden. Vergleiche werden mit `void*`- und flexiblen Array-Member-Ansätzen angestellt, die in einer Lösung gipfeln, die Typsicherheit zur Kompilierzeit bietet und zu Kompilierfehlern führt, wenn falsche Typen hinzugefügt werden.
Entwicklung