Mein Eindruck ist, dass es immer besser ist, meine eigene Struktur zu definieren, so dass ich anstelle von first
und second
sinnvolle Feldnamen verwenden kann.
Eine Stelle, an der der Standard std::pair
verwendet, ist der Zugriff auf Elemente von std::map
. first
ist der Schlüssel und second
der Wert. Wäre es nicht viel besser, eine bestimmte Vorlage für key_value_pair
zu haben, und verweisen Sie auf ihre Felder als key
und value
anstelle von first
und second
? Es scheint mir, dass es Code wesentlich besser lesbar machen würde.
Normalerweise verwende ich Paare (und Tupel), wenn ich ein lokales Paket mit zwei oder mehr Objekten brauche.
Der primäre Anwendungsfall ist der Rückgabetyp einer Funktion: C ++ erlaubt nicht die Rückgabe mehrerer Werte, erlaubt aber die Rückgabe einer Struktur mit mehreren Feldern. Anstatt Ausgabeparameter zu verwenden, bevorzuge ich ein Paar oder Tupel.
Der zweite Anwendungsfall ist die Ad-hoc-Speicherung von Elementen. zum Beispiel um automatisch operator<
für
Sie können operator<
auf diese Weise schreiben:
es erzeugt automatisch eine korrekte lexikographische Reihenfolge (so viele Leute vermasseln diese Operatoren ...).
Tags und Links c++ coding-style std-pair