Rachus: Wann ist ein const_cast angebracht?

Beitrag lesen

Was ist bei dir eine Zusicherung?
Der Compiler dürfte schimfen, weil er eine Referenz erwartet, du ihm aber ein Temporary unterjubeln möchtest?!

Okay, Zusicherung ist in diesem Falle wohl der falsche Begriff. "Typ" würde es wohl besser bezeichnen.
Vielleicht kann ich (meine Gedanken) bildlich etwas darstellen:

Aufrufer         UM_Wrapper::key_exists          std::unordered_multimap::find

Key wird als       Nimmt Key als Konstante        nimmt konstanten Key* ent-
Konstante über-    entgegen und gibt Zeiger       gegen. Allerdings ist hier
geben              darauf als Konstante (Key*)    nicht mehr sichergestellt,
                   weiter.                        dass *Key (also die Deref-
                                                  erenzierung) immer noch, wie
                                                  vom Aufrufer gefordert,
                                                  konstant ist.

Grüße,

Rachus