C ++: Zeiger als Schlüssel in einer Hashtabelle

8

Gibt es Probleme beim Verwenden von Zeigern als Hash-Tasten während des Programmablaufs? (Keine Notwendigkeit, auf Festplatte zu speichern und später zu verwenden, da dies zu offensichtlichen Problemen führt)

Es gibt viele Umstände, unter denen ich schnell wissen muss, ob ein Objekt zu einem Objektmanager gehört. Eine schnelle Möglichkeit, dies zu überprüfen, besteht darin, jedes Objekt in einem Objektmanager in einer Hashtabelle zu speichern, wobei der Zeiger des Objekts der Schlüssel für das tatsächliche Objekt ist: z. B. HashTable

    
bittersoon 17.01.2011, 12:08
quelle

3 Antworten

5

Nein, es gibt keine Probleme. Es ist wie Speichern eines int .

Ein Zeiger hat einen Wert, der sich nicht ändert und der eine Ressource eindeutig identifiziert.

Es gibt natürlich Probleme, wenn Sie Ihre Zeiger nicht gut verwenden, aber das ist eine andere, unkorrelierte Sache.

    
peoro 17.01.2011, 12:11
quelle
0

Es sollte gut genug funktionieren. Siehst du irgendwelche Probleme? Vielleicht solltest du es einfach versuchen und sehen. :)

    
wilx 17.01.2011 12:10
quelle
0

Aus dem Kopf - Wenn der Speicherbereich, auf den Ihre Hashtabelle zeigt, freigegeben wird, ohne zuerst die Referenzen auf den Speicherbereich zu löschen, auf den Ihre Zeiger zeigen, werden Speicherlecks herumhängen.

    
Jas 17.01.2011 12:13
quelle

Tags und Links