Freigeben über


hash_set::hash_set

Hinweis

Diese API ist veraltet.Die Alternative ist unordered_set-Klasse.

Erstellt ein hash_set-Element, das leer oder die Kopie eines ganzen anderen hash_set-Elements oder eines Teils davon ist.

hash_set( );
explicit hash_set(
    const Traits& Comp
);
hash_set(
    const Traits& Comp,
    const Allocator& Al
);
hash_set(
    const hash_set<Key, Traits, Allocator>& Right
);
hash_set(
    hash_set&& Right
);
hash_set(
     initializer_list<Type> IList
);
hash_set(
      initializer_list<Type> IList, 
     const Compare& Comp
);
hash_set(
      initializer_list<value_type> IList, 
     const Compare& Comp, 
     const Allocator& Al
); 
template<class InputIterator>
    hash_set(
        InputIterator First,
        InputIterator Last
    );
template<class InputIterator>
    hash_set(
        InputIterator First,
        InputIterator Last,
        const Traits& Comp
    );
template<class InputIterator>
    hash_set(
        InputIterator First,
        InputIterator Last,
        const Traits& Comp,
        const Allocator& Al
    );

Parameter

Parameter

Beschreibung

Al

Die für dieses hash_set-Objekt zu verwendende Speicherzuweisungsklasse, dessen Standard Allocator ist.

Comp

Die Vergleichsfunktion vom Typ const Traits, die verwendet wird, um die Elemente in hash_set, deren Standard hash_compare ist, zu sortieren.

Right

Das hash_set-Element, von dem das erstellte hash_set-Element eine Kopie sein soll.

First

Die Position des ersten Elements in dem zu kopierenden Elementbereich.

Last

Die Position des ersten Elements nach dem zu kopierenden Elementbereich.

Hinweise

Alle Konstruktoren speichern den Typ eines Zuweisungsobjekts, mit dem Arbeitsspeicherspeicher für hash_set verwaltet wird, und der später zurückgegeben werden kann, indem hash_set::get_allocator aufgerufen wird. Der Zuweisungsparameter wird häufig aus den Klassendeklarationen und den Vorverarbeitungsmakros weggelassen, die zum Ersetzen alternativer Zuweisungen verwendet werden.

Alle Konstruktoren initialisieren die hash_set-Elemente.

Alle Konstruktoren speichern ein Funktionsobjekt vom Typ Traits, das verwendet wird, um unter den Schlüsseln von hash_set eine Reihenfolge zu erstellen und das später zurückgegeben werden kann, indem hash_set::key_comp aufgerufen wird. Weitere Informationen zu Traits finden Sie im Thema hash_set-Klasse.

Der erste Konstruktor erstellt ein leeres ursprüngliches hash_set-Element. Der Zweite gibt den Typ der Vergleichsfunktion (Comp) an, die zum Angeben der Reihenfolge der Elemente verwendet wird, und der Dritte gibt explizit den zu verwendenden Zuweisungstyp (Al) an. Mit dem Schlüsselwort explicit werden bestimmte Arten automatischer Typumwandlung unterdrückt.

Der vierte und fünfte Konstruktor gibt eine Kopie von hash_set Right an.

Der sechste, siebte und achte Konstruktor verwendet ein initializer_list-Element für die Elemente.

Mit dem letzten Konstruktor wird der Bereich (First, Last) eines hash_set-Elements kopiert, wobei sich die Explizitheit bei Angabe des Typs der Vergleichsfunktion der Klasse "Traits" und "allocator" erhöht.

Der achte Konstruktor verschiebt hash_set Right.

Die tatsächliche Reihenfolge der Elemente in einem hash_set-Container hängt von der Hashfunktion, von der Sortierfunktion und der aktuellen Größe der Hashtabelle ab und kann im Allgemeinen nicht vorausgesagt werden, wie das beim festgelegten Container der Fall wäre, bei dem sie von der Sortierfunktion allein bestimmt würde.

Anforderungen

Header: <hash_set>

Namespace: stdext

Siehe auch

Referenz

hash_set-Klasse

Standardvorlagenbibliothek