2012-06-12 17 views

Antwort

5

glib enthält GHashTable s, die im Grunde Assoziationen zwischen Schlüsseln und Werten sind - was HashMap in C++ ist.

Der wichtige Unterschied ist, dass Sie void* verwenden müssen, um beliebige Daten zu speichern, da C keine Vorlagen oder Generika unterstützt. Der Nachteil ist, dass der Compiler die Gültigkeit Ihres Codes nicht überprüfen kann und Sie die Korrektheit selbst sicherstellen müssen.

-1

C könnte niemals so etwas haben, weil es keine der erforderlichen Funktionen hat - besonders keine Vorlagen.

2

Sie können Ihre eigenen in C tatsächlich implementieren. Machen Sie eine Struktur, geben Sie ihr einen Zeiger auf ihr übergeordnetes Element und implementieren Sie eine Funktion, die einen Zeiger auf eine Instanz Ihrer Struktur zurückgibt, und Sie haben Ihre Klassen in C. Sie können so weit gehen wie Sie wollen, wenn Sie Zeit haben und Sie wissen wie es geht.