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.
Konstruktoren
Erstellt einen Satz, der leer ist, oder der eine Kopie von vollständig oder teilweise eines anderen Satzes ist. |
Typedefs
Ein Typ, der die allocator-Klasse für das angegebene Objekt darstellt. |
|
Ein Typ, der einen bidirektionalen Iterator stellt, der ein const-Element im Satz lesen kann. |
|
Ein Typ, der einen Zeiger auf einen const-Element in einem Satz bereitstellt. |
|
Ein Typ, der einen Verweis auf ein const-Element bereitstellt, gespeicherten in einem Satz zum Lesen und Ausführen von const Vorgänge. |
|
Ein Typ, der einen bidirektionalen Iterator stellt, der beliebige const-Element im Satz lesen kann. |
|
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. |
|
Ein Typ, der einen bidirektionalen Iterator stellt, der lesen kann oder jedes Element in einem Satz von ändert. |
|
Ein Typ, der ein Funktionsobjekt bereitstellt, das zwei Sortierschlüssel vergleichen kann, um die relative Reihenfolge von zwei Elementen im Satz zu bestimmen. |
|
Der Typ beschreibt ein Objekt, das als Element eines Satzes in seiner Kapazität als Sortierschlüssel gespeichert wird. |
|
Ein Typ, der einen Zeiger auf ein Element in einem Satz bereitstellt. |
|
Ein Typ, der einen Verweis auf ein Element bereitstellt, gespeicherten in einem Satz. |
|
Ein Typ, der einen bidirektionalen Iterator stellt, der lesen kann oder ein Element in einem umgekehrten Satz ändert. |
|
Ein vorzeichenlose Typ ganzen Zahl, der die Anzahl der Elemente in einem Satz darstellen kann. |
|
Der Typ, der ein Funktionsobjekt bereitstellt, das zwei Elemente vergleichen kann, um deren relative Position im Satz zu bestimmen. |
|
Der Typ beschreibt ein Objekt, das als Element eines Satzes in seiner Kapazität als Wert gespeichert wird. |
Memberfunktionen
Gibt einen Iterator zurück, der das erste Element im Satz behandelt. |
|
Gibt einen konstanten Iterator zurück, der das erste Element im Satz behandelt. |
|
Gibt einen konstanten Iterator zurück, der den Speicherort abweicht, der dem letzten Element mit einem Satz von folgt. |
|
Löscht alle Elemente eines Satzes. |
|
Gibt die Anzahl der Elemente in einem Satz zurück, dessen Schlüssel eine Parameter-angegebene Schlüssel entspricht. |
|
Gibt einen konstanten Iterator zurück, der das erste Element in einem umgekehrten Satz behandelt. |
|
Gibt einen konstanten Iterator zurück, der den Speicherort abweicht, der dem letzten Element mit einem umgekehrten Satz folgt. |
|
Fügt ein Element ein, das direkt in einen Satz von erstellt wird. |
|
Fügt ein Element ein, das direkt in einen Satz von, mit einem Platzierungs-Hinweis erstellt wird. |
|
Prüft, ob ein Satz leer ist. |
|
Gibt einen Iterator zurück, der den Speicherort abweicht, der dem letzten Element mit einem Satz von folgt. |
|
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. |
|
Entfernt ein Element oder einen Bereich von Elementen in einem Satz von den angegebenen Speicherorten oder Elemente entfernt, die einen angegebenen Schlüssel übereinstimmen. |
|
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. |
|
Gibt eine Kopie des allocator-Objekts zurück, das verwendet wird, um den Satz zu erstellen. |
|
Fügt ein Element oder einen Bereich von Elementen in einen Satz von ein. |
|
Ruft eine Kopie des Vergleichsobjekts ab, das den Reihenfolgentasten in einem Satz verwendet wird. |
|
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. |
|
Gibt die maximale Länge des Satzes zurück. |
|
Gibt einen Iterator zurück, der das erste Element in einem umgekehrten Satz behandelt. |
|
Gibt einen Iterator zurück, der den Speicherort abweicht, der dem letzten Element mit einem umgekehrten Satz folgt. |
|
Gibt die Anzahl der Elemente im Satz zurück. |
|
Tauscht die Elemente zweier Mengen aus. |
|
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. |
|
Ruft eine Kopie des Vergleichsobjekts ab, das den Reihenfolgenelementwerten in einem Satz verwendet wird. |
Operatoren
Ersetzt die eines Satzes von durch eine Kopie eines anderen Satzes. |
Anforderungen
Header: <set>
Namespace: std