Rachus: Wann ist ein const_cast angebracht?

Beitrag lesen

Hallo,

Ach so, das ist ja dein key_exists! Das wird nicht funktionieren! Du musst doch erst mal in deiner Liste den eigentlichen Schlüssel suchen, um dort die Adresse zu ermitteln, mit der du in der multimap suchst! Sonst suchst du ja mit dem falschen Zeiger!

Nein, eigentlich nicht. Ich speichere ja statt des Schlüssels einen Zeiger zu dem Schlüssel, der zu dem Element innerhalb meiner Liste zeigt. Ein Zugriff darauf findet so schnell statt, wie ein Zeiger zum Dereferenzieren benötigt. (Deswegen ja auch mein eigener Equaler und Hasher) Beim Einfügen habe ich dann nur den Schlüssel in die Liste eingefügt, mir den Zeiger darauf geholt und den in der multimap gespeichert. (Natürlich auch noch einen Iterator, damit das Entfernen auch in O(1) funktioniert)

Wenigstens sind wir uns aber einig, dass meine Wrapperklasse wohl eine Schnapsidee war…

Grüße,

Rachus