Frage

Ich habe ein paar Fragen darüber, wie C ++ Sätze (std :: set)

zu verwenden,
  1. Gibt es eine Möglichkeit, die Vereinigung, Schnitt oder Differenz von zwei C ++ Sets zu bekommen? (Es ist ziemlich einfach meine eigene functionto zu schreiben tun, aber ich wollte wissen, ob es eine für sie in Funktion gebaut wurde)

  2. Can C ++ Sätze als Schlüssel in einer Karte verwendet werden?

War es hilfreich?

Lösung

Mit dem set_difference() , set_union() , set_intersection() und set_symmetric_difference() Funktionen.

Sets und Karten unterstützen eine beliebige Taste, Typ, vergleichen. Standardmäßig bedeutet dies die Art ist operator<() definiert, aber Sie können Ihren eigenen Komparator liefern. C ++ Sätze haben keine operator<() definiert und deshalb nicht als Schlüssel verwendet werden können, wenn Sie Ihren eigenen Komparator liefern.

Andere Tipps

Was Ihre erste Frage, haben Sie einen Blick auf

Alles kann als Schlüssel in einer Karte verwendet werden, solange Sie eine Klasse oder Funktion zur Verfügung stellen, die sie vergleichen können. Hier ist ein Beispiel.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top