1. Dashboard
  2. Artikel
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  1. HTML - Webmaster Forum
  2. Programmierung - Entwickler Forum
  3. Forum für alle anderen Programmiersprachen

enum operator<

  • The User
  • 30. Mai 2008 um 17:45
  • The User
    Forum Guru
    Beiträge
    4.044
    • 30. Mai 2008 um 17:45
    • #1

    Ich arbeite jetzt mit der SFML-Bibliothek.
    Aber bei einem Problem mit der würde ich mich an das Forum dort wenden, also ihr müsst für mein Problem nichts von der verstehen:
    Es gibt dort eine Klasse, die hat als Attribute ein enum mit sicher mindestens 60 Möglichkeiten sowie drei Boolean Werte.
    Objekte dieser Klasse würde ich jetzt gerne als Schlüssel einer Multimap benutzen.
    Dafür braucht die Klasse aber einen operator<. Soweit kein Problem, da ich diesen außerhalb der Klasse definieren kann.
    Aber wie kann ich dieses Operator jetzt definieren, damit er enums vergleicht?
    Die Vergleiche werden wie gesagt nur für die multimap gebraucht, das heißt operator< muss nicht unbedingt in einer sinnvollen Reihenfolge anordnen, ich möchte eben aus Laufzeit- und Arbeitseffizienz nicht 60 if-Abfragen reinbringen oder etwas ähnliches.

    Ich hoffe, mir kann jemand helfen.

    Danke
    The User

    Freiheit bedeutet mehr.

    "Mir ist die gefährliche Freiheit lieber als eine ruhige Knechtschaft."
    (Jean Jacques Rousseau)
    Mein Blog zum Programmieren, GNU/Linux etc.
    Free Chelsea Manning!
    Stolzer Nutzer von KDE, openSUSE und Qt.

  • Wasserleiche
    Fortgeschrittene/r
    Beiträge
    169
    • 1. Juni 2008 um 19:28
    • #2

    Naja, dafür ist das switch Statement doch super geeignet. Enums sind nichts anderes als ints.
    Und switch ist auf jeden Fall schneller als x if Abfragen, da sie über Sprungtabellen realisiert werden.

  • The User
    Forum Guru
    Beiträge
    4.044
    • 1. Juni 2008 um 21:29
    • #3

    Kann ich enums vielleicht casten?
    Muss ich mal ausprobieren.
    Sind das wirklich ints? Weil da stehen auch so Sachen wie VALUE1 = 'a'.

    Edit:
    Naja, chars sind ja auch eigentlich ints, und ich kann die wirklich casten, dass ich da nicht draufgekommen bin, danke Wasserleiche, bist der größte in C++!

    Edit2:
    Danke Wasserleiche, es hat geklappt, super, erst ging es nicht, aber ich musste einfach nur den operator< in den namspace sf der Bibliothek packen, dann wurde es gefunden!

    Freiheit bedeutet mehr.

    "Mir ist die gefährliche Freiheit lieber als eine ruhige Knechtschaft."
    (Jean Jacques Rousseau)
    Mein Blog zum Programmieren, GNU/Linux etc.
    Free Chelsea Manning!
    Stolzer Nutzer von KDE, openSUSE und Qt.

Tags

  • forum
  • http
  • klasse
  • super
  • problem
  • org
  • ts
  • reihenfolge
  • sprung
  • statement
  • c++
  • switch
  • laufzeit
  • bibliothek
  1. Datenschutzerklärung
  2. Impressum
Community-Software: WoltLab Suite™
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche