Momentan erstelle ich ein neues Set wie folgt:
%Vor% Gibt es eine Möglichkeit, s
in einer Zeile zu erstellen?
Sie können in Boost.Assign nachsehen, was Ihnen erlaubt Dinge schreiben wie:
%Vor% Wenn Ihre Ausgangsdaten in einem Container std::some_container<A> a;
sind, der Iteratoren beginnt und beendet, und dies sind Vorwärtsiteratoren oder die besten (sie sollten nur operator ++ überladen haben), dann können Sie auf diese Weise neue setzen.
In C ++ 0x definiert der Standard die Initialisierungsliste als Verbesserung für diese Art von (unangenehmem) Konstrukt.
Es ist jetzt viel einfacher:
%Vor%Alles was es brauchte war, dass die Standardbibliothek den folgenden Konstruktor für set deklarierte:
%Vor%und alle unsere Sorgen wurden ordentlich weggeschwemmt.
Hier ist eine C ++ 0x-Alternative zur Antwort von Moo-Juice für den Fall, dass die Konstruktion von A teurer ist als für int
.