Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » switch will nicht

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] [ 2 ] > 3 <
020
02.04.2006, 12:16 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
021
02.04.2006, 15:06 Uhr
0xdeadbeef
Gott
(Operator)


Naja, die Hashfunktion kann Kollisionen ergeben, und besonders intuitiv ist das nicht zu benutzen, von daher ist die if-else-Konstruktion in aller Regel sinnvoller. Ansonsten, wenns unbedingt gemappt werden soll, halt zu komplexeren Sprachkonstrukten greifen, etwa:

C++:
#include <iostream>
#include <map>
#include <string>

typedef void(*stringfunc)(std::string const &);

std::map<std::string, stringfunc> stringmap;

void output (std::string const &s) {
  std::cout << s << std::endl;
}

void output_twice(std::string const &s) {
  std::cout << s << std::endl << s << std::endl;
}

int main() {
  stringmap["Hallo"] = output;
  stringmap["Hello"] = output_twice;

  for(std::map<std::string, stringfunc>::const_iterator i = stringmap.begin(); i != stringmap.end(); ++i) {
    i->second(i->first);
  }
}


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
022
11.04.2006, 19:19 Uhr
~Novice
Gast


bei switch kannst du keine wörter verwenden. Nur Zahlen oder Buchstaben.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
023
11.04.2006, 19:43 Uhr
Spacelord
Hoffnungsloser Fall



Zitat von ~Novice:
bei switch kannst du keine wörter verwenden. Nur Zahlen oder Buchstaben.


Ach?
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
024
11.04.2006, 20:04 Uhr
(un)wissender
Niveauwart


So?
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] [ 2 ] > 3 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: