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.