Freigeben über


set Class

Der STL-Containerklassensatz wird zum Speichern und Abrufen von Daten aus einer Auflistung, in der die Werte der Elemente, die enthalten sind, eindeutig sind und von Aufschlag als die Schlüsselwerte verwendet wird, nach denen die Daten automatisch sortiert werden.Der Wert eines Elements in einem Satz nicht wird direkt geändert werden.Stattdessen müssen Sie alte Werte und Einsatzelemente mit neuen Werten löschen.

template <
    class Key, 
    class Traits=less<Key>, 
    class Allocator=allocator<Key> 
>
class set

Parameter

  • Key
    Der im Satz gespeichert werden, Elementdatentyp.

  • Traits
    Der Typ, der ein Funktionsobjekt bereitstellt, das zwei Elementwerte als Sortierschlüssel vergleichen kann, um deren relative Position im Satz zu bestimmen.Dieses Argument ist optional und das binäre Prädikat less*<Key>* ist der Standardwert.

  • Allocator
    Der Typ, der die gespeicherte allocator-Objekt darstellt, die Details über die Belegung und Freigabe von Arbeitsspeicher kapselt.Dieses Argument ist optional und der Standardwert ist allocator*<Key>.*

Hinweise

Menge STL ist:

  • Ein vereinigender Container, der ein variabler Größencontainer, der den effizienten Abrufen von Elementwerten auf Grundlage eines zugeordneten Schlüsselwert unterstützt.Darüber hinaus ist es ein einfacher vereinigender Container, weil die Elementwerte die Schlüsselwerte sind.

  • Umkehrbar, da es einen bidirektionalen Iterator stellt, um auf die Elemente zuzugreifen.

  • Sortiert, da ihre Elemente anhand Schlüsselwerte innerhalb des Containers in Übereinstimmung mit der angegebenen Vergleichsfunktion sortiert werden.

  • Eindeutig insofern, dass jedes der Elemente einen eindeutigen Schlüssel verfügen muss.Da Satz auch ein einfacher vereinigender Container ist, sind ihre Elemente auch eindeutig.

Ein Satz wird auch als Vorlagenklasse beschrieben, da die Funktionen, die bereitstellt, generisch ist und nicht von bestimmten Typ der Daten, die als Elemente enthalten sind.Der zu verwendende Datentyp wird stattdessen als Parameter in der Klassenvorlage zusammen mit der Vergleichsfunktion und der Belegungsfunktion angegeben.

Die Auswahl des Containertyps sollte für den Typ zum Suchen und Einfügen im Allgemeinen basieren erfordert mit.Vereinigende Container werden für die Vorgänge der Suche, Einfüge- und des Entfernens optimiert.Die Memberfunktionen, die explizit diese Vorgänge unterstützen, sind effizient und sie in einer Zeit aus, die im Durchschnitt dem Logarithmus der Anzahl der Elemente im Container proportional ist.Elemente Einfügen, macht keine Iteratoren ungültig, und Elemente entfernen, macht nur die Iteratoren ungültig die speziell an den entfernten Elemente gezeigt hätten.

Der Satz sollte der assoziative Container der Auswahl sein, wenn die Bedingungen, die die Werte mit ihren Schlüssel zuordnen, durch die Anwendung erfüllt werden.Die Elemente eines Satzes sind eindeutig und Aufschlag als eigene Sortierschlüssel.Ein Modell für diesen Typ der Struktur ist eine sortierte Liste beispielsweise von Wörtern, in denen die Wörter möglicherweise nur einmal auftreten.Wenn mehrere Vorkommen der Wörter ermöglicht wird, muss ein Multiset die entsprechende Containerstruktur sein.Wenn Werte an eine Liste von Schlüsselwörtern des eindeutigen Schlüssels angefügt werden müssen, wird eine Zuordnung eine entsprechende Struktur sein, um diese Daten enthalten.Wenn stattdessen die Schlüssel nicht eindeutig sind, wird eine Multimap der Container der Auswahl sein.

Der Satz sortiert die Sequenz, die er steuern, indem er ein gespeichertes Funktionsobjekt des Typs key_compare aufruft.In gespeicherte Objekt ist eine Vergleichsfunktion auf, die möglicherweise zugegriffen wird, indem Sie die Memberfunktion key_comp aufruft.Im Allgemeinen müssen die Elemente lediglich weniger als vergleichbar, diese Reihenfolge eingerichtet sein, damit, alle zwei Elemente angegeben, es jedem bestimmt werden kann, dass sie äquivalent sind (insofern, dass kein kleiner ist als die andere ist), oder dass ein kleiner als das andere ist.Dies ergibt eine Reihenfolge zwischen den antivalenten Elementen.Auf einem mehr technischen Hinweis ist die Vergleichsfunktion ein binäres Prädikat, das eine strenge schwache Sortierung im mathematischen StandardSinn verursacht.Ein binäres Prädikat f(x, y) ist ein Funktionsobjekt, das zwei Argumentobjekt x und y und ein Rückgabewert von true oder von false verfügt.Eine Reihenfolge, die zu einem Satz angewendet wird, ist eine strikte schwache binäre Sortierung, wenn das Prädikat irreflexiv transitiv ist, antisymmetrisch, und und wenn Äquivalenz transitiv ist, wobei zwei Objekt x und y definiert werden, um zu entsprechen wenn sowohl f(x, y) und f(x, y) sind falsch.Wenn die dickere Zustand der Gleichheit zwischen die Schlüssel der Äquivalenz ersetzt, wird die Reihenfolge Summe (insofern, dass alle Elemente zueinander in Beziehung stehen geordnet werden) und die Schlüssel, die verglichen werden, voneinander nicht wahrnehmbar sind.

Der Iterator, der von der festgelegten Klasse bereitgestellt wird, ist ein bidirektionaler Iterator, aber der Klassenmember funktioniert Einfügen und Satz haben Versionen, die als Vorlagenparameter einen abgeschwächten Eingabeiterator erhalten, dessen Funktionalitätsanforderungen minimaler sind als die, die durch die Klasse von bidirektionalen Iteratoren gewährleistet werden.Die verschiedenen Iteratorkonzepte bilden eine Gruppe, die von Verfeinerungen in ihre Funktionalität verknüpft ist.Jedes Iteratorkonzept verfügt über einen eigenen Satz von Anforderungen, und Algorithmen, die ihnen Muss-Grenze ihre Annahmen zu Anforderungen arbeiten, können von diesem Typ des Iterators bereit.Es wird davon ausgegangen werden, dass ein Eingabeiterator möglicherweise wird dereferenziert, um einige Objekt verwiesen wird, erhöht und dass er möglicherweise auf den folgenden Iterator in der Sequenz.Dies ist ein minimaler Satz von Funktionen, aber es genügt, um in der Lage zu sein, über einen Bereich von Iteratoren [_First, _Last) im Rahmen der Memberfunktionen der Klasse sinnvoll zu verweisen.

e8wh7665.collapse_all(de-de,VS.110).gifKonstruktoren

set

Erstellt einen Satz, der leer ist, oder der eine Kopie von vollständig oder teilweise eines anderen Satzes ist.

e8wh7665.collapse_all(de-de,VS.110).gifTypedefs

allocator_type

Ein Typ, der die allocator-Klasse für das angegebene Objekt darstellt.

const_iterator

Ein Typ, der einen bidirektionalen Iterator stellt, der ein const-Element im Satz lesen kann.

const_pointer

Ein Typ, der einen Zeiger auf einen const-Element in einem Satz bereitstellt.

const_reference

Ein Typ, der einen Verweis auf ein const-Element bereitstellt, gespeicherten in einem Satz zum Lesen und Ausführen von const Vorgänge.

const_reverse_iterator

Ein Typ, der einen bidirektionalen Iterator stellt, der beliebige const-Element im Satz lesen kann.

difference_type

Ein ganzzahliger Typ mit Vorzeichen, der verwendet werden kann, um die Anzahl von Elementen eines Satzes in einem Bereich zwischen Elementen darzustellen, hat sich auf den Iteratoren.

Iterator

Ein Typ, der einen bidirektionalen Iterator stellt, der lesen kann oder jedes Element in einem Satz von ändert.

key_compare

Ein Typ, der ein Funktionsobjekt bereitstellt, das zwei Sortierschlüssel vergleichen kann, um die relative Reihenfolge von zwei Elementen im Satz zu bestimmen.

key_type

Der Typ beschreibt ein Objekt, das als Element eines Satzes in seiner Kapazität als Sortierschlüssel gespeichert wird.

pointer

Ein Typ, der einen Zeiger auf ein Element in einem Satz bereitstellt.

Verweis

Ein Typ, der einen Verweis auf ein Element bereitstellt, gespeicherten in einem Satz.

reverse_iterator

Ein Typ, der einen bidirektionalen Iterator stellt, der lesen kann oder ein Element in einem umgekehrten Satz ändert.

size_type

Ein vorzeichenlose Typ ganzen Zahl, der die Anzahl der Elemente in einem Satz darstellen kann.

value_compare

Der Typ, der ein Funktionsobjekt bereitstellt, das zwei Elemente vergleichen kann, um deren relative Position im Satz zu bestimmen.

value_type

Der Typ beschreibt ein Objekt, das als Element eines Satzes in seiner Kapazität als Wert gespeichert wird.

e8wh7665.collapse_all(de-de,VS.110).gifMemberfunktionen

begin

Gibt einen Iterator zurück, der das erste Element im Satz behandelt.

cbegin

Gibt einen konstanten Iterator zurück, der das erste Element im Satz behandelt.

cend

Gibt einen konstanten Iterator zurück, der den Speicherort abweicht, der dem letzten Element mit einem Satz von folgt.

clear

Löscht alle Elemente eines Satzes.

count

Gibt die Anzahl der Elemente in einem Satz zurück, dessen Schlüssel eine Parameter-angegebene Schlüssel entspricht.

crbegin

Gibt einen konstanten Iterator zurück, der das erste Element in einem umgekehrten Satz behandelt.

crend

Gibt einen konstanten Iterator zurück, der den Speicherort abweicht, der dem letzten Element mit einem umgekehrten Satz folgt.

Erstellen Sie auf

Fügt ein Element ein, das direkt in einen Satz von erstellt wird.

emplace_hint

Fügt ein Element ein, das direkt in einen Satz von, mit einem Platzierungs-Hinweis erstellt wird.

empty

Prüft, ob ein Satz leer ist.

end

Gibt einen Iterator zurück, der den Speicherort abweicht, der dem letzten Element mit einem Satz von folgt.

equal_range

Gibt ein Paar Iteratoren bzw. auf das erste Element in einem Satz mit einem Schlüssel, die größer ist, als ein angegebener Schlüssel und dem ersten Element im Satz mit einem Schlüssel zurück, die gleich oder größer ist als Schlüssel.

Löschen

Entfernt ein Element oder einen Bereich von Elementen in einem Satz von den angegebenen Speicherorten oder Elemente entfernt, die einen angegebenen Schlüssel übereinstimmen.

find

Gibt einen Iterator zurück, der die Position eines Elements in einem Satz behandelt, der eine Schlüsselentsprechung zu einem angegebenen Schlüssel verfügt.

get_allocator

Gibt eine Kopie des allocator-Objekts zurück, das verwendet wird, um den Satz zu erstellen.

Einfügen

Fügt ein Element oder einen Bereich von Elementen in einen Satz von ein.

key_comp

Ruft eine Kopie des Vergleichsobjekts ab, das den Reihenfolgentasten in einem Satz verwendet wird.

lower_bound

Gibt einen Iterator auf das erste Element in einem Satz mit einem Schlüssel zurück, die gleich oder größer ist als ein angegebener Schlüssel.

max_size

Gibt die maximale Länge des Satzes zurück.

rbegin

Gibt einen Iterator zurück, der das erste Element in einem umgekehrten Satz behandelt.

rend

Gibt einen Iterator zurück, der den Speicherort abweicht, der dem letzten Element mit einem umgekehrten Satz folgt.

size

Gibt die Anzahl der Elemente im Satz zurück.

Austausch

Tauscht die Elemente zweier Mengen aus.

upper_bound

Gibt einen Iterator auf das erste Element in einem Satz mit einem Schlüssel, die größer ist, als ein angegebener Schlüssel zurück.

value_comp

Ruft eine Kopie des Vergleichsobjekts ab, das den Reihenfolgenelementwerten in einem Satz verwendet wird.

e8wh7665.collapse_all(de-de,VS.110).gifOperatoren

operator=

Ersetzt die eines Satzes von durch eine Kopie eines anderen Satzes.

Anforderungen

Header: <set>

Namespace: std

Siehe auch

Referenz

Threadsicherheit in der C++-Standardbibliothek

Standardvorlagenbibliothek