myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

c++ map

Willkommen

myGully

Links

Forum

 
Antwort
 
Themen-Optionen Ansicht
Ungelesen 05.12.10, 18:18   #1
AshPrinter
Anfänger
 
Benutzerbild von AshPrinter
 
Registriert seit: Dec 2010
Beiträge: 9
Bedankt: 0
AshPrinter ist noch neu hier! | 0 Respekt Punkte
Standard c++ map

Hallo Leute,

ich weiß zwar was folgender Befehl bewirkt, aber verstehe nicht ganz wie er funktioniert.
Wäre nett, wenn mir Jemand eine kurze Erklärung gibt.
Danke!

Code:
if(MapName.find(Variable)!=MapName.end())
AshPrinter ist offline   Mit Zitat antworten
Ungelesen 05.12.10, 19:03   #2
PornoPenner
Banned
 
Registriert seit: Aug 2010
Beiträge: 209
Bedankt: 70
PornoPenner ist noch neu hier! | 0 Respekt Punkte
Standard

Welchen Befehl meinst Du denn?
Was eine if-Anweisung macht, weißt Du oder willst Du eben da wissen?
PornoPenner ist offline   Mit Zitat antworten
Ungelesen 05.12.10, 19:19   #3
AshPrinter
Anfänger
 
Benutzerbild von AshPrinter
 
Registriert seit: Dec 2010
Beiträge: 9
Bedankt: 0
AshPrinter ist noch neu hier! | 0 Respekt Punkte
Standard

Nein! Natürlich will ich den gesamten Ausdruck erklärt bekommen.

Der Befehl bewirkt ja, dass die Map bis zum ende nach dem Schlüsselwert in der Variablen durchsucht wird und wenn es gefunden wurde wird die if-Anweisung durchgeführt, sonst nicht, aber wieso reicht es != ....end() zu schreiben damit er weiß das er bis zum Ende der Map suchen soll. find() müsste ja dann irgendwann = end() sein?
AshPrinter ist offline   Mit Zitat antworten
Ungelesen 05.12.10, 19:51   #4
Xalir
Erfahrener Newbie
 
Registriert seit: Mar 2009
Beiträge: 154
Bedankt: 56
Xalir ist noch neu hier! | 0 Respekt Punkte
Standard

Mal übersetzt lautet die Zeile:

Suche die Variable in MapName(MapName.Find) solange das Ende von MapName nicht erreicht wurde(!=MapName.end). Gebe Wahr zurück,wenn Suche erfolgreich,ansonsten Falsch.

if wartet auf einen Ausdruck,den es auf wahr oder falsch auswerten kann. MapName.find gibt aber solange nichts zurück, bis es die Variable gefunden hat oder das Ende von MapName erreicht wurde.
Xalir ist offline   Mit Zitat antworten
Ungelesen 05.12.10, 20:00   #5
PornoPenner
Banned
 
Registriert seit: Aug 2010
Beiträge: 209
Bedankt: 70
PornoPenner ist noch neu hier! | 0 Respekt Punkte
Standard

Zitat:
Zitat von Xalir Beitrag anzeigen
Suche die Variable in MapName(MapName.Find) solange das Ende von MapName nicht erreicht wurde(!=MapName.end). Gebe Wahr zurück,wenn Suche erfolgreich,ansonsten Falsch.
Wie kommst Du auf "solange suchen bis das Ende nicht erreicht wurde"?

MapName.find() gibt vielleicht ein einfaches Objekt zurück und es wird geprüft, ob dieses Objekt das Endstück ist.
PornoPenner ist offline   Mit Zitat antworten
Ungelesen 05.12.10, 20:04   #6
Xalir
Erfahrener Newbie
 
Registriert seit: Mar 2009
Beiträge: 154
Bedankt: 56
Xalir ist noch neu hier! | 0 Respekt Punkte
Standard

Deswegen:

Zitat:
...Der Befehl bewirkt ja, dass die Map bis zum ende nach dem Schlüsselwert in der Variablen durchsucht wird und wenn es gefunden wurde wird die if-Anweisung durchgeführt, sonst nicht...
Ich gehe davon aus das find eine iterative Funktion ist. Ansonsten könnte es natürlich auch sein das find true zurückgibt, wenn die Variable nicht die Variable ist, die am Ende liegt.
Xalir ist offline   Mit Zitat antworten
Ungelesen 05.12.10, 20:19   #7
AshPrinter
Anfänger
 
Benutzerbild von AshPrinter
 
Registriert seit: Dec 2010
Beiträge: 9
Bedankt: 0
AshPrinter ist noch neu hier! | 0 Respekt Punkte
Standard

@PornoPenner: bevor du Beiträge abgibst solltest du vlt. selber wissen worum es hier geht. Ich weiß nicht nur sehr gut was eine if anweisung macht und was eine klasse ist, nein, ich weiß auch im gegensatzt zu dir was eine map ist.
find() und end() sind vordefinierte funktionen wie zB printf in C.
diese gehören zur eigenschaft von einer map. Ich bin davon ausgegangen, dass jemand der mir antwortet auch weiß was eine Map ist.

@xalir: danke für die antwort, allerdings ist es genau das problem wo ich nicht weiß wie der das weiß dass er am ende angelangt ist wenn er den schlüssel nicht gefunden hat. find() sucht die variable in der map, sobald es gefunden wurde wird es mit end() verglichen. bis dahin ok. aber wieso wird es zu = end() wenn er den schlüssel nicht findet.
naja, so wichtig ist das wahrscheinlich auch nicht, aber das ist auch nur ne interessensfrage gewesen. anwenden tue ich es ja schon im programm.
AshPrinter ist offline   Mit Zitat antworten
Ungelesen 05.12.10, 19:47   #8
PornoPenner
Banned
 
Registriert seit: Aug 2010
Beiträge: 209
Bedankt: 70
PornoPenner ist noch neu hier! | 0 Respekt Punkte
Standard

Zitat:
Zitat von AshPrinter Beitrag anzeigen
Nein! Natürlich will ich den gesamten Ausdruck erklärt bekommen.

Der Befehl bewirkt ja, dass die Map bis zum ende nach dem Schlüsselwert in der Variablen durchsucht wird und wenn es gefunden wurde wird die if-Anweisung durchgeführt, sonst nicht, aber wieso reicht es != ....end() zu schreiben damit er weiß das er bis zum Ende der Map suchen soll. find() müsste ja dann irgendwann = end() sein?
Hmm, Du willst Dich mit einer Programmiersprache beschäftigen, weisst aber nicht was eine if-Anweisung macht?
Ein if-Befehl selbst bewirkt absolut gar nichts, der prüft nur und verzweigt.
Das Internet, google, Wikipedia etc. sollten Dir hoffentlich nicht unbekannt sein (irgendwie hast Du es ja geschafft hier zu posten)... also, schau mal hier:
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]

In den Klammern steht die Bedingung, und "!=" bedeutet lediglich "ungleich".
Also, prüft die if-Anweisung:
Ist "MapName.find(Variable)" ungleich "MapName.end()" ?

Was MapName.find() und MapName.end() machen kann ich nicht wissen, da Du die Klasse nicht auflistest.
(Da könnte genau so gut "if(HansWurst.krabbelWutz()!=ZappelDings.plupp ())" stehen!)
Da müsste man schon hellsehen können, um zu wissen, ob die Methoden nun Objekte oder primitive Datentypen zurückgeben.

Könntest ja mal mehr Infos beifügen, wenn man Dir schon helfen soll. Raten bringt ja nicht viel!

Was eine Klasse ist wirst Du vermutlich auch nicht wissen:
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
PornoPenner ist offline   Mit Zitat antworten
Ungelesen 06.12.10, 00:08   #9
AshPrinter
Anfänger
 
Benutzerbild von AshPrinter
 
Registriert seit: Dec 2010
Beiträge: 9
Bedankt: 0
AshPrinter ist noch neu hier! | 0 Respekt Punkte
Standard

das programm soll euer leben darstellen und nicht eure kenntnisse.

und ihr habt recht euer leben ist wirklich voller fehler.
AshPrinter ist offline   Mit Zitat antworten
Ungelesen 08.12.10, 21:31   #10
BS_Cerberus
Anfänger
 
Registriert seit: Sep 2010
Beiträge: 3
Bedankt: 2
BS_Cerberus ist noch neu hier! | 0 Respekt Punkte
Standard

sehr interessant zu lesen...
xD
BS_Cerberus ist offline   Mit Zitat antworten
Ungelesen 09.12.10, 20:31   #11
germgerm
bla
 
Registriert seit: Mar 2010
Beiträge: 312
Bedankt: 302
germgerm ist noch neu hier! | 0 Respekt Punkte
Standard

Zitat:
Zitat von BS_Cerberus Beitrag anzeigen
sehr interessant zu lesen...
xD
Meine Erklärung?

^^
germgerm ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:37 Uhr.


Sitemap

().