Komplexe Strukturen
-
Hallo Zusammen,
ich habe es vor im Programm so etwas zu verwenden:
std::vector <std::pair<std::pair<int, int>, double>> results;
Würdet ihr mir davon abraten und eine geeignete Struktur mit 3 Attributen definieren oder meint ihr es ist gängig?
Danke im Voraus
-
@anpoit00 sagte in Komplexe Strukturen:
Würdet ihr mir davon abraten und eine geeignete Struktur mit 3 Attributen definieren
Ja.
Du weisst selber in einem Monat nicht spontan, was
results[0].first.second
ist. Mit sprechenden Namen sieht man es auf den ersten Blick.
-
@anpoit00 sagte in Komplexe Strukturen:
Würdet ihr mir davon abraten und eine geeignete Struktur mit 3 Attributen definieren oder meint ihr es ist gängig?
Beides
Es ist gängig, aber ich würde (sehr) davon abraten. Nicht alles was gängig ist ist auch gut.
Gründe:- Wenn man das an mehreren Stellen macht, weicht es die Typen auf -> schlechtere Type-Safety. Ein
std::pair<int, int>
kann viele Bedeutungen haben, und wenn man malstd::pair<int, int>
mit 2 oder 3 verschiedenen Bedeutungen verwendet, dann ist das doof. Weil man die dann z.B. untereinander zuweisen kann ohne einen Fehler zu bekommen. - Es macht das Programm viel schwerer zu lesen. Auch das wird immer schlimmer je grösser das Programm wird und je mehr solche
pair
/tuple
Konstrukte es gibt.
- Wenn man das an mehreren Stellen macht, weicht es die Typen auf -> schlechtere Type-Safety. Ein
-
@manni66 Eine "entweder/oder" Frage mit "ja" zu beantworten ist immer schlau, da kann man kaum daneben liegen.
-
Danke für den Rat!
-
@hustbaer sagte in Komplexe Strukturen:
@manni66 Eine "entweder/oder" Frage mit "ja" zu beantworten ist immer schlau, da kann man kaum daneben liegen.
Das stimmt. Deswegen habe ich es nicht gemacht.
-
@manni66 sagte in Komplexe Strukturen:
@hustbaer sagte in Komplexe Strukturen:
@manni66 Eine "entweder/oder" Frage mit "ja" zu beantworten ist immer schlau, da kann man kaum daneben liegen.
Das stimmt. Deswegen habe ich es nicht gemacht.
War aber erst anders, oder? Ich meine mich zu erinnern dass du erst die ganze Frage zitiert hattest
(War aber eh als Scherz gemeint, aus dem Rest deiner Antwort war ja sowieso klar was du meinst.)
-
@hustbaer sagte in Komplexe Strukturen:
War aber erst anders, oder?
Nein, ich hab nur einen Tippfehler in "results" editiert. Du hast dich nur zu gut an die Frage erinnert
-
OK. Verdammt