C ++ - Bibliothek - <set>
Einführung
EIN setist ein assoziativer Container, der eine sortierte Menge eindeutiger Objekte vom Typ Schlüssel enthält. Jedes Element darf nur einmal vorkommen, daher sind Duplikate nicht zulässig.
Es gibt vier Arten von assoziativen Containern: Set, Multiset, Map und Multimap.
Der Wert der Elemente in einer Menge kann nicht einmal im Container geändert werden, dh die Elemente sind immer const. Sie können jedoch in den Behälter eingesetzt oder daraus entfernt werden.
Set-Container sind im Allgemeinen langsamer als unordered_set-Container, wenn sie über ihren Schlüssel auf einzelne Elemente zugreifen. Sie ermöglichen jedoch die direkte Iteration von Teilmengen basierend auf ihrer Reihenfolge.
Definition
Unten finden Sie die Definition von std :: set aus der <set> -Headerdatei
template <
class Key,
class Compare = std::less<Key>,
class Allocator = std::allocator<Key>
> class set;
Parameter
Key - Typ des enthaltenen Elements.
Der Schlüssel kann durch einen anderen Datentyp einschließlich eines benutzerdefinierten Typs ersetzt werden.
Mitgliedertypen
Die folgenden Elementtypen können von Elementfunktionen als Parameter oder Rückgabetyp verwendet werden.
Sr.Nr. | Mitgliedertypen | Definition |
---|---|---|
1 | Schlüsselart | Schlüssel |
2 | Werttyp | Schlüssel |
3 | Referenz | Allocator :: reference Werttyp& |
4 | const_reference | Allocator :: const_reference const value_type & |
5 | Zeiger | Allocator :: Zeiger std :: allocator_traits <Allocator> :: Zeiger |
6 | const_pointer | Allocator :: const_pointer std :: allocator_traits <Allocator> :: const_pointer |
7 | Iterator | Bidirektionaler Iterator |
8 | const_iterator | konstanter bidirektionaler Iterator |
9 | reverse_iterator | std :: reverse_iterator <iterator> |
10 | const_reverse_iterator | std :: reverse_iterator <const_iterator> |
11 | size_type | Ganzzahliger Typ ohne Vorzeichen (std :: size_t) |
12 | Differenztyp | Signierter Integer-Typ (std :: ptrdiff_t) |
13 | key_compare | Vergleichen Sie |
14 | value_compare | Vergleichen Sie |
15 | allocator_type | Allokator |
Funktionen von <set>
Unten finden Sie eine Liste aller Methoden aus dem <set> -Header.
MITGLIEDSFUNKTIONEN
DEFAULT MEMBER FUNCTIONS
Sr.Nr. | Methode & Beschreibung |
---|---|
1 | Standardkonstruktor
Konstruiert den Set-Container. |
2 | Bereichskonstruktor
Konstruiert den Set-Container mit Inhalten des Bereichs. |
3 | Konstruktor kopieren
Konstruiert den Set-Container mit der Kopie eines anderen Sets. |
4 | Konstruktor verschieben
Konstruiert den Set-Container mit dem Inhalt anderer Sets unter Verwendung der Verschiebungssemantik. |
5 | Konstruktor der Initialisierungsliste
Erstellt den Set-Container mit dem Inhalt der Inializer-Liste. |
6 | (Zerstörer)
Zerstört den eingestellten Container. |
7 | Operator =
Weist dem festgelegten Container Werte zu. |
ITERATOREN
Sr.Nr. | Methode & Beschreibung |
---|---|
1 | set :: begin
Setzt den Iterator auf den Anfang zurück. |
2 | set :: cbegin
Setzt den konstanten Iterator auf den Anfang zurück. |
3 | set :: end
Gibt den Iterator zum Beenden zurück. |
4 | set :: cend
Gibt den konstanten Iterator zum Ende zurück. |
5 | set :: rbegin
Gibt den umgekehrten Iterator zurück, um den Anfang umzukehren. |
6 | set :: crbegin
Geben Sie den const reverse Iterator zurück, um den Anfang umzukehren. |
7 | set :: rend
Gibt den umgekehrten Iterator zum umgekehrten Ende zurück. |
8 | set :: crend
Gibt den const-Umkehriterator zum umgekehrten Ende zurück. |
KAPAZITÄT
Sr.Nr. | Methode & Beschreibung |
---|---|
1 | set :: leer
Gibt zurück, ob der festgelegte Container leer ist. |
2 | set :: size
Gibt die Anzahl der Elemente im Set-Container zurück. |
3 | set :: max_size
Gibt die maximale Anzahl von Elementen zurück, die der festgelegte Container enthalten kann. |
MODIFIKATOREN
Sr.Nr. | Methode & Beschreibung |
---|---|
1 | set :: clear
Entfernt alle Elemente aus dem Set-Container. |
2 | set :: insert
Fügt ein neues Element in den Set-Container ein. |
3 | set :: emplace
Fügt ein neues Element in die Menge ein, falls es eindeutig ist. |
4 | set :: emplace_hint
Fügt ein neues Element in die Menge ein, sofern es eindeutig ist, mit einem Hinweis auf die Einfügeposition. |
5 | set :: erase
Entfernt entweder ein einzelnes Element oder einen Bereich von Elementen aus dem festgelegten Container. |
6 | set :: swap
Tauscht den Inhalt des Containers durch den Inhalt eines anderen festgelegten Containers desselben Typs aus. |
NACHSEHEN
Sr.Nr. | Methode & Beschreibung |
---|---|
1 | set :: count
Gibt die Anzahl der Elemente mit übereinstimmendem Wert im festgelegten Container zurück. |
2 | set :: find
Durchsucht den Set-Container nach Wert und gibt einen Iterator an ihn zurück, wenn er gefunden wird. Andernfalls wird ein Iterator an set :: end zurückgegeben. |
3 | set :: lower_bound
Gibt einen Iterator zurück, der auf das erste Element im Set-Container zeigt, dessen Wert nicht vor dem Wert liegt. |
4 | set :: Upper_bound
Gibt einen Iterator zurück, der auf das erste Element im Set-Container verweist, das als Wert angesehen wird. |
5 | set :: same_range
Gibt die Grenzen eines Bereichs zurück, der alle Elemente im Set-Container enthält, die dem Wert entsprechen. |
BEOBACHTER
Sr.Nr. | Methode & Beschreibung |
---|---|
1 | set :: key_comp
Gibt eine Kopie des Vergleichsobjekts zurück, das vom festgelegten Container verwendet wird. |
2 | set :: value_comp
Gibt eine Kopie des Vergleichsobjekts zurück, das vom festgelegten Container verwendet wird. |
ALLOCATOR
Sr.Nr. | Methode & Beschreibung |
---|---|
1 | set :: get_allocator
Gibt eine Kopie des Allokatorobjekts zurück, das dem festgelegten Container zugeordnet ist. |