| Autor |
Nachricht |
underduc
Mitglied
Benutzerprofil
Anmeldungsdatum: 02.07.2012
Beiträge: 2
|
underduc Mitglied
07:59:58 03.07.2012 Titel: |
Zwischen den Zeilen einer Map... |
Zitieren |
Hallo,
ich komme mit meiner recherche zu maps in c++ nicht weiter:
in einer map sind die startpositionen von feldern eines strings und deren länge gespeichert.
aufgabe:
steht der cursor innerhalb eines feldes, benötige ich die anfangsposition des entsprechenden feldes.
no-go:
die generierung jeder möglichen position im string mit verweis auf die entsprechende anfangsposition des feldes ist ausgeschlossen.
frage:
steht der map-cursor nach find zwischen den nächst-passenden keys?
gibt es dann eine möglichkeit bei den kleineren key zu lesen?
meine aktuelle lösung rechnet den key in einer find-schleife bis zum treffer runter... gefällt mir aber nicht so gut.
danke für eure kommentare.
uli |
|
|
|
 |
nixverstehn
Unregistrierter
|
nixverstehn Unregistrierter
09:14:20 03.07.2012 Titel: |
Re: Zwischen den Zeilen einer Map... |
Zitieren |
| underduc schrieb: | | startpositionen von feldern eines strings |
was?
| Zitat: | | steht der cursor innerhalb eines feldes |
was?
| Zitat: | | der map-cursor nach find zwischen den nächst-passenden keys? |
was??
was meinst du mit startpositionen? was meinst du mit cursor? eine map hat keinen cursor. |
|
|
|
 |
Werner Salomon
Mitglied
Benutzerprofil
Anmeldungsdatum: 02.07.2005
Beiträge: 2160
|
Werner Salomon Mitglied
09:20:14 03.07.2012 Titel: |
|
Zitieren |
Hallo Uli,
Willkommen im C++-Forum.
Deine Fragestellung ist leider nicht eindeutig.
Ich unterstelle mal, dass eine (Cursor-)Position in einem der Felder eindeutig über alle Felder ist. Weiter unterstelle ich, dass die Startposition selbst der Key oder Teil des Keys der Maps ist.
Dann hilft Dir sicherlich die Methode map::upper_bound weiter.
In Deinem Fall müsstest Du den von dort erhaltenen Iterator einmal dekrementieren (operator--) und Du erhältst den Verweis auf das gewünschte Feld. Vorher natürlich auf map.begin() abfragen, das wäre ein interner Fehler in Deinem Programm, wenn dieser Fall eintritt.
Gruß
Werner |
Zuletzt bearbeitet von Werner Salomon am 09:21:24 03.07.2012, insgesamt 1-mal bearbeitet |
|
 |
underduc
Mitglied
Benutzerprofil
Anmeldungsdatum: 02.07.2012
Beiträge: 2
|
underduc Mitglied
09:48:45 03.07.2012 Titel: |
|
Zitieren |
Hallo Werner,
danke für die Richtigstellung und den Lösungsvorschlag.
Leider hat sich gerade meine Festplatte verabschiedet, aber bei nächster Gelegenheit werde ich ihn anwenden.
Die mißverständliche Darstellung ergibt sich wohl aus der Nähe zum Objekt.
Ich gelobe Besserung.
Vielen Dank
Uli |
|
|
|
 |
|
Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben. Sie können auf Beiträge in diesem Forum antworten. Sie können Ihre Beiträge in diesem Forum nicht bearbeiten. Sie können Ihre Beiträge in diesem Forum nicht löschen. Sie können an Umfragen in diesem Forum nicht mitmachen.
|
|
|
|
|