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, 19:19   #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

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   #2
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   #3
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   #4
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   #5
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, 21:27   #6
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
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.
Was find() macht, können wir ohne Hinweise über die Klasse nicht wissen.

Ob die Methode nun iterativ etwas sucht oder wie auch immer ist vollkommen egal, da das MapName.end() der Methode nicht übergeben wird!

Zitat:
Zitat von AshPrinter Beitrag anzeigen
@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.
Also, Du Pappnase!
Da Du Dich wohl auch nicht mit den C++-Konventionen auskennst, wie sollen andere dann richtig erraten was "MapName" sein soll. So sieht es aus als ob MapName eine statische Klasse ist.

Zitat:
Zitat von AshPrinter Beitrag anzeigen
find() und end() sind vordefinierte funktionen wie zB printf in C.
Sieht aber eher so aus als wären es Funktionen der statischen Klasse MapName.

Zitat:
Zitat von AshPrinter Beitrag anzeigen
diese gehören zur eigenschaft von einer map. Ich bin davon ausgegangen, dass jemand der mir antwortet auch weiß was eine Map ist.
Die if-Anweisung, die Du postet hat NICHTS mit der Iteration, der Suche etc. zu tun.
Es prüft lediglich, ob das die Methode find() das letzte Element der Map zurückgibt.

So... für kleine vorlaute Scheisser:
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] -> "c++ map find"

Erster Treffer:
find():
"Searches the container for an element with x as key and returns an iterator to it if found, otherwise it returns an iterator to map::end (the element past the end of the container)."

Wird das Element mit dem Schlüssel x also nicht gefunden, dann wird der Iterator zu map::end zurückgegeben. Die Bedingung ist dann also wahr!

Scheint ja echt schwierig gewesen zu sein!
Naja, hauptsache n vorlautes Kind!
PornoPenner ist offline   Mit Zitat antworten
Ungelesen 05.12.10, 21:31   #7
germgerm
bla
 
Registriert seit: Mar 2010
Beiträge: 312
Bedankt: 302
germgerm ist noch neu hier! | 0 Respekt Punkte
Standard

Zitat:
Zitat von AshPrinter Beitrag anzeigen
aber wieso wird es zu = end() wenn er den schlüssel nicht findet.
Die end-Funktion liefert einen Iterator, der genau Eins hinter das letzte Element zeigt.
Da die find-Methode auch nicht zaubern kann, googelt er halt alle Werte durch, bis der Zeiger am wirklich letzten Element steht, das nicht mehr zur eigentlichen Liste gehört.

Im C würde ein Null-Pointer zurückgegeben werden. Der Iterator hat den Vorteil, dass du mit Iterator-- wieder in der Liste bist.

Edit: Jetzt war ich zu langsam.
germgerm ist offline   Mit Zitat antworten
Ungelesen 05.12.10, 22:14   #8
AshPrinter
Anfänger
 
Benutzerbild von AshPrinter
 
Registriert seit: Dec 2010
Beiträge: 9
Bedankt: 0
AshPrinter ist noch neu hier! | 0 Respekt Punkte
Standard

Hör mal PornoPenner,
ich will mich jetzt garnicht auf dein Niveau begeben und hab auch keine lust alle Aussagen von dir zu kommentieren, wozu ich durchaus in der Lage bin.

1. Nur damit du es weißt, dass hier anscheinend viele Kinder rumtreiben heißt nicht, dass jeder einer von diesen ist.

2. Ich bin ein erwachsener Mann der seine 21 schon längst hinter sich hat.
(Es ist nur eine Vermutung, aber bei dir sieht es nicht so aus).

3. Ich habe keine Ahnung wieso jemand Themen auf diese Weise Antwortet.
Bitte unterlasse es einfach demnächst auf meine Themen zu antworten, deine Antworten mögen zwar letztenendes hilfreich sein, aber sie kosten mich Zeit und Nerven. In dem ganzen Posts die du gemacht hast war nur ein Satz hilfreich. Der rest war nur:
*jammer jammer* ich habs hier nur mit Kindern zu tun *jammer jammer*


Ein Tipp: Nur weil es jeder macht, musst du nicht auch nochmal für google Werbung machen, jeder kennt die Suchmaschiene. Antworte oder lass es sein.
AshPrinter ist offline   Mit Zitat antworten
Ungelesen 05.12.10, 22:32   #9
PornoPenner
Banned
 
Registriert seit: Aug 2010
Beiträge: 209
Bedankt: 70
PornoPenner ist noch neu hier! | 0 Respekt Punkte
Standard

Verträgst Du keine Kritik?

1. Du willst, dass man Dir hilft (= ZEIT FÜR DICH INVESTIERT), aber bist nicht in der Lage, Dein Problem ordentlich zu erläutern!

2. Man macht Dich darauf aufmerksam, dass für verständliche Hilfe, genaue Informationen benötigt werden.
Daraufhin, regst Du Dich auf, dass "selbst Du ja weißt was eine Map ist".

3.
Zitat:
Zitat von AshPrinter Beitrag anzeigen
Ein Tipp: Nur weil es jeder macht, musst du nicht auch nochmal für google Werbung machen, jeder kennt die Suchmaschiene. Antworte oder lass es sein.
Aber anscheinend hast DU es NICHT geschafft google zu benutzen!


Fazit:

Du hast keinen Bock Dich selbst um Dein Problemchen zu kümmern, lässt lieber andere suchen.
Auf eine ordentliche Beschreibung hast Du auch keine Lust, wozu auch mehr als zwei Sätze schreiben... sollen sich doch diejenigen, die Dir helfen, selbst die Mühe machen rauszufinden was Du von ihnen willst!

Nagut... mit dieser Einstellung wünsche ich Dir viel Glück im Leben! Wunder Dich aber nicht, wenn Dich andere asozial anschauen oder Dich, so wie ich, für ein dummes, vorlautes Kind halten.
PornoPenner 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 10:03 Uhr.


Sitemap

().