003
05.06.2004, 15:57 Uhr
DerSchwarzeSchlumpf
|
Zitat: |
DerSchwarzeSchlumpf postete Hi
Bin gerade beim Debuggen von nem Programm und bin gerade dabei, alles durch "Hartcodierte Werte" zu ersetzen. dH ich muss überall die "Abfragewerte" in eine Klasse kapseln und darf dann nur diese verwenden.
Das Problem: "const" soll auf jedem Fall "define" vorgezogen werden.
Bei bools, int und chars ist es ja kein Problem da schreib ich einfach
C++: |
const bool FREE_CELL_VALUE = true;
|
und greife dann bei den abfragen so darauf so
C++: |
if(variable == Klasse::FREE_CELL_VALUE) bla bla
|
das Problem ist aber: wie kann ich das mit einem string oder char* machen?
beispiel: derzeit habe ich stehen
C++: |
if(strcmp(user_eingabe == "exit") == 0) cout << "du willst aussteigen? aha!" << endl;
|
nur sollte ich das exit jetzt auch mit so einem "const" auslagern aber ich hab keine ahnung wie das funktioniert *g* weil
C++: |
const char* COMAND_EXIT = "exit"
|
geht irgendwie nicht *g*
wär über tipps echt dankbar (:
lg chris
|
ja das is mir schon klar *g* user_comand + "exit" sind ja bei mir (laut meinem verständnis *g*) 2 chars. nur darf ich hier laut dem coding standard an den ich mich halten muss nicht ein strcmp auf "exit" durchführen sondern nur auf LabyrinthManager::COMAND_FOR_EXIT dH ich muss in der Klasse LabyrinthManager eine hardcodierte Variable "COMAND_FOR_EXIT" speichern die den Wert "exit" hat *g* nur das funktioniert bei mir nicht weil ich nicht weiß wie ich einen const char* definiere *g*
ps: des mit dem const bool ist nur ein Beispiel weil ich das Labyrinth als Bool-Matrix speicher (true für freie zelle, false für mauer, aber da auch nicht auf "true", "false" abfragen darf sondern wieder so hardcodierte Werte IDENDIFICATION_WALL udgl verwenden muss *g*)
hoff dass ich mich einigermaßen klar ausgedrückt habe *g* |