Ist auf Elemente einer LL direkt zugreifen OK?
Verfasst: 26.10.2014 22:08
Nach langer PureBasic-Abstinenz arbeite ich derzeit mal wieder an einem kleinen Tool.
Dazu habe ich eine kurze Verständnisfrage:
Ich habe eine strukturierte LinkedList auf die ich sehr viel zugreife, um jetzt das ständige hin und herspringen in der Liste zu vermeiden übertrage ich die zur Zeit in Beabreitung stehenden Elemente in Zeiger um direkt auf sie zugreifen zu können während ich trotzdem noch durch die Liste gehen kann:
Das funktioniert bisher einwandfrei, da in dieser Liste keine Elemente gelöscht werden, nun einige Fragen dazu:
- Ist das so in Ordnung oder kann es passieren dass Elemente ihre Adresse ändern? (z.B beim Ändern der Reihnfolge)
- Kann ich diese Marker ohne Gefahr in Threads verwenden, während ich in der Liste rumwurschtle (bei aktiviertem ThreadSafe)
- Gibt es eine Möglichkeit sicherzustellen dass der Zeiger (noch) auf ein korrektes Element zeigt? Sprich kann ich überprüfen ob das Element noch existiert ohne es in der Liste zu suchen?
Oder Allgemein, gibt es bessere Möglichkeiten mit so etwas umzugehen (Mal von Arrays abgesehen)
LG KeyKon
Dazu habe ich eine kurze Verständnisfrage:
Ich habe eine strukturierte LinkedList auf die ich sehr viel zugreife, um jetzt das ständige hin und herspringen in der Liste zu vermeiden übertrage ich die zur Zeit in Beabreitung stehenden Elemente in Zeiger um direkt auf sie zugreifen zu können während ich trotzdem noch durch die Liste gehen kann:
Code: Alles auswählen
NewList liste.struktur()
Define *elementMarker.struktur
...
*elementMarker = @liste()
- Ist das so in Ordnung oder kann es passieren dass Elemente ihre Adresse ändern? (z.B beim Ändern der Reihnfolge)
- Kann ich diese Marker ohne Gefahr in Threads verwenden, während ich in der Liste rumwurschtle (bei aktiviertem ThreadSafe)
- Gibt es eine Möglichkeit sicherzustellen dass der Zeiger (noch) auf ein korrektes Element zeigt? Sprich kann ich überprüfen ob das Element noch existiert ohne es in der Liste zu suchen?
Oder Allgemein, gibt es bessere Möglichkeiten mit so etwas umzugehen (Mal von Arrays abgesehen)
LG KeyKon