Der Autor beschreibt verschiedene Ansätze, um generische Datenstrukturen in C zu implementieren, von Makro-Headern bis zu Typprüfung mit Union.
Level 0 nutzt Makros und mehrfaches #include, ist aber unübersichtlich und führt zu Code-Duplikaten.
Level 1 verwendet void*, ist flexibel, aber nicht typsicher und ineffizient in Speicher und Performance.
Level 2 nutzt Flexible Array Members für Inline-Speicher, reduziert Allokationen und Cache-Misses.
Level 3 führt Union mit payload-Feld und typeof zum Erzwingen von Compile-Time-Typprüfungen ein.
Ein typedef umgeht Probleme mit unterschiedlichen Definitionen identischer Union-Typen beim Kopieren und als Funktionsparameter.
Die Technik lässt sich auf beliebige Datenstrukturen erweitern, z. B. Hash-Maps mit Schlüssel- und Wert-Typen.
Get notified when new stories are published for "🇩🇪 Hacker News Deutsch"