1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Unterscheiden zwischen const und non-const Aufrufen

  • BearT
  • 23. Januar 2007 um 18:00
  • Unerledigt
  • BearT
    1
    BearT
    Mitglied
    Punkte
    10
    Beiträge
    1
    • 23. Januar 2007 um 18:00
    • #1

    Ich schreib grad aus Spaß an der Freude an einem reference counted Auto-Pointer. (Nein, ich will die Boost nicht verwenden, ich will den Code mal selbst schreiben zum Üben.) Um den AutoPtr als Ersatz für den Originalpointer zu verwenden, hab ich den

    Code
    operator T*(void) bzw. 
    operator const T*(void) const


    überschrieben.

    Jetzt ist das Problem folgendes: die const Variante wird nur aufgrund der constness vom AutoPtrObject ausgewählt, nicht aufgrund des return Typs. Was natürlich beim Reference Counting a bisserl problematisch ist, weil beinahe jede Konvertierung auf den Originalpointer non-const sein wird, und ich dadurch andauernd Daten kopieren muss, weil sie ja verändert werden könnten.

    Ein ähnliches Problem gibts ja, wenn man den index operator überlädt, aber da konnte ich mir mit Proxy Objekten weiterhelfen. Wie ich allerdings im Objekt erkennen kann, ob ein const T* oder doch T* verlangt wird, kann ich mir im Moment nicht erklären.
    Hat da jemand von euch vielleicht Erfahrung, Tipps und/oder Links zu solchen?

    dankeschön,
    BearT

  • Maximilian Rupp 27. Dezember 2024 um 12:05

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung