set_difference Der Algorithmus erfordert die folgendenPerforming set_difference auf ungeordnete Sätze
Die Elemente in den Bereichen sind bereits nach dem gleichen Kriterium geordnet werden
die für Hash-Tabellen nicht der Fall ist.
Ich denke, eine Menge Differenz AB in Bezug auf die std::remove_copy
der Implementierung, wo die Entfernung Kriterium
Gibt es eine Standard-valid-am schnellsten sichersten die Existenz eines Elements A in der Gruppe B sein würde Weg, es zu tun?
Vielleicht ist es schneller (ich bin sicher, es ist sicherer), temporäre std :: set Objekte zu verwenden und die Hash-Tabelle Daten in die std :: set Objekte einzufügen. Rufen Sie dann set_difference() auf und geben Sie die Ergebnisse in die Hash-Tabelle zurück. Ich bin ein Befürworter dafür, dass die Dinge zuerst funktionieren und dann, wenn nötig, optimiert werden. – PaulMcKenzie
Nun, wenn Sie wirklich eine temporäre Kopie erstellen möchten, verwenden Sie std :: vector und std :: sort, nicht std :: set. Es wird (viel!) Schneller und speicherfreundlicher sein. – ltjax