7H3 N4C3R
Lt. Commander
- Registriert
- Feb. 2002
- Beiträge
- 1.816
Maps arbeiten typischerweise auf RB-Trees. Damit hast Du eine Suchzeit von O=log n. Mit dem Vektor hast Du eine konstante Zeit. Und ein Vektor der Länge std::numeric_limits<unsigned char>::max ist optimal für diese Aufgabe (Beim Einfügen darf man nur nicht vergessen, dass char u.U. signed sein kann)
Ich finde nicht, dass die map ein unbekannter Container ist. Wer mit der STL arbeitet, kommt recht schnell in Berührung damit. (aus eigener Erfahrung)
Zum cast-Operator - die Dinger sind grundsätzlich böse ^^. Denn Seiteneffekte, die daraus entstehen sind absolut furchtbar und schon in einem mittelmäßig großen Projekt nicht mehr zu überschauen. Plötzlich wird dein Objekt vergleichbar mit anderen Sachen (da implizit gecastet wird) und nichts arbeitet mehr so wie erwartet.
Was ich unschön finde an Deinem Code ist, dass Du Algorithmus mit Container mit Ausgabe mischt. (Persönliche Meinung) Ich denke, ich hätte einen ostream_iterator oder sowas verwendet (schon eher unbekannt). Obwohl das allesamt ein wenig überzogen ist für das Problem
Ich finde nicht, dass die map ein unbekannter Container ist. Wer mit der STL arbeitet, kommt recht schnell in Berührung damit. (aus eigener Erfahrung)
Zum cast-Operator - die Dinger sind grundsätzlich böse ^^. Denn Seiteneffekte, die daraus entstehen sind absolut furchtbar und schon in einem mittelmäßig großen Projekt nicht mehr zu überschauen. Plötzlich wird dein Objekt vergleichbar mit anderen Sachen (da implizit gecastet wird) und nichts arbeitet mehr so wie erwartet.
Was ich unschön finde an Deinem Code ist, dass Du Algorithmus mit Container mit Ausgabe mischt. (Persönliche Meinung) Ich denke, ich hätte einen ostream_iterator oder sowas verwendet (schon eher unbekannt). Obwohl das allesamt ein wenig überzogen ist für das Problem
Zuletzt bearbeitet: