Operator. Überladen



  • Hallo,
    ich möchte aus Spass einen Memory Manager schreiben. Dazu will ich void* speicherblücke mitsamt der Größe des Bereichs und einem unsigned int Index speichern. Um darauf schönen zugriff zu haben will ich eine Handle Klasse schreiben. Damit ich diese handleklasse, genauso benutzen kann, wie die Klasse, die sie "handelt" will ich für pointertypen die Operatoren * und -> überladen. Für nonPointertypen viel mir nichts ein, also dachte ich, ob ich nicht villeicht den Operator. überladen kann, leider hab ich keine Ahnung, wie das aussehen soll und hab weder in Effektiv C++ noch dem Nachfolger noch der C++ Programmiersprache was gefunden. Die Forumssuche und Google ignorieren den Punkt einfach, so dass ich da auch nichts gefunden hab.

    Vielen Dank schonmal für eure Hilfe!


  • Mod

    der . Operator kann nicht überladen werden (es wäre auch hoffnungslos mehrdeutig), genausowenig wie :: .* ?: (und wahrscheinlich noch was, was ich vergessen habe)

    Wenn du verstanden hast, wie operator-> überladen wird, sollte sofort klar sein, wieso das mit Operator. nicht geht.



  • es gibt keinen operator für ".". du kannst folglich so etwas auch nicht überladen.
    btw. wenn du eine eigene speicherverwaltung schreiben willst, interessieren dich objekte, die im stack erzeugt wurden, nicht.




Anmelden zum Antworten