Ich benutze ein GHashTable von glib und möchte ein Schlüsselwertpaar nach Schlüssel löschen. Wie in der docs beim Aufruf g_hash_table_remove()
beschrieben, müssen Sie den Schlüssel und Wert selbst freigeben, wenn sie dynamisch zugewiesen wurden. Aber wie bekomme ich einen Zeiger auf den Schlüssel, damit ich ihn freigeben kann?Verweise auf den in GHashTable gespeicherten Schlüssel
EDIT: Ich dachte über die Verwendung g_hash_table_new_full
aber meine Verwendung von GHashTable ist so klein, dass ich diesen Overkill dachte. Ich würde es vorziehen, den Schlüssel manuell freizugeben.
EDIT: Wie von Keine Lust gezeigt g_hash_table_new_full
sollte nicht weniger performant sein. Sie können auch NULL
für eine der Zerstörungsfunktionen übergeben, wenn Sie sie nicht benötigen.
Bitte geben Sie einen Grund für das Downvoting, danke. – timakro