set Class

L'insieme della classe dei contenitori STL viene utilizzato per l'archiviazione e il recupero di dati da una raccolta in cui i valori degli elementi contenuti sono univoci e il funge dai valori della chiave secondo cui i dati vengono automaticamente ordinati.Il valore di un elemento in un set non può essere modificato direttamente.Invece, è necessario eliminare i valori obsoleti e inserire gli elementi con i nuovi valori.

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

Parametri

  • Key
    Il tipo di dati degli elementi da archiviare nel set.

  • Traits
    Il tipo che fornisce un oggetto funzione che può confrontare due valori degli elementi come chiavi di ordinamento per determinare il relativo ordine dell'insieme.Questo argomento è facoltativo e il predicato binario less*<Key>* è il valore predefinito.

  • Allocator
    Il tipo che rappresenta l'oggetto memorizzato di allocatore che incapsula informazioni dettagliate sull'allocazione e la deallocazione del set di memoria.Questo argomento è facoltativo e il valore predefinito è allocator*<Key>.*

Note

Un set STL è:

  • Un contenitore di modifica associativo, che un contenitore variabile di dimensioni che supporti il recupero efficiente dei valori degli elementi in base a un valore di chiave collegato.Inoltre, è un contenitore associativo semplice perché i relativi valori dell'elemento sono i valori della chiave.

  • Reversibile, in quanto fornisce un iteratore bidirezionale per accedere ai relativi elementi.

  • Ordinato, perché i relativi elementi vengono ordinati in base ai valori chiave all'interno del contenitore in base a una funzione di confronto specificata.

  • Univoco nel senso che ognuno dei relativi elementi deve avere una chiave univoca.Poiché il set è un contenitore associativo semplice, i relativi elementi sono particolari.

Un set viene descritto come classe modello perché la funzionalità disponibile in è generica e indipendente dal tipo specifico di dati contenuti come elementi.Il tipo di dati da utilizzare, invece, viene specificato come parametro di template di classe con la funzione di confronto e l'allocatore.

La scelta del tipo contenitore deve essere basata in generale sul tipo di ricerca e di inserimento richiesto dall'applicazione.I contenitori associativi ottimizzate per le operazioni di ricerca, l'inserimento e la rimozione.Le funzioni membro che in modo esplicito supportano queste operazioni sono efficienti, eseguendole in un periodo di tempo in media proporzionale al logaritmo il numero di elementi nel contenitore.Inserendo gli elementi non invalida iteratori e rimozione di elementi invalida solo gli iteratori specificatamente avevano fa riferimento agli elementi eliminati.

L'insieme deve essere il contenitore associativo di scelta quando le condizioni che associano valori con le chiavi vengono soddisfatte dall'applicazione.Gli elementi di un set sono univoci e funge da rispettive chiavi di ordinamento.Un modello per questo tipo di struttura è un elenco ordinato ad esempio le parole in cui le parole possono verificarsi solo una volta.Se a più occorrenze delle parole sono consentite, un multi-insieme sarebbe la struttura appropriata del contenitore.Se i valori devono essere connessi a un elenco di parole chiave univoca, il mapping è una struttura appropriata per contenere questi dati.Se invece le chiavi non sono univoci, un multimap sarebbe il contenitore di scelta.

Il set di ordinare la sequenza che controlla chiamando un oggetto funzione archiviato di tipo key_compare.Questo oggetto archiviato è una funzione di confronto che può essere eseguito chiamando la funzione membro key_comp.Gli elementi devono in genere essere solo minore di confrontabili di stabilire questo ordine, in modo tale da fornito tutti gli due elementi, poter stabilire uno che sono equivalenti in quanto non è inferiore all'altro) o che ne è inferiore all'altro.Ciò comporta un ordine tra elementi antivalenti.In una più nota tecnica, la funzione di confronto è un predicato binario che provoca un ordine debole rigido nel senso matematico standard.Un predicato binario f(*x, y)*è un oggetto funzione che ha due oggetti dell'argomento x e y e un valore restituito true o false.Un ordine imposto a un set è un ordine debole rigido se il predicato binario è irreflexive, antisimmetrico e transitivo e se l'equivalenza sia transitiva, in cui due oggetti x e y sono definiti come equivalenti quando entrambe f(*x, y)*e f(*x, y)*è false.Se il più sicuro stato di uguaglianza tra le chiavi sostituisce quello di equivalenza, l'ordine diventa il totale (nel senso che tutti gli elementi vengono ordinati in base all'altro) e chiavi accoppiate siano indistinguibili l'uno da.

Un iteratore fornito dalla classe specificata è un iteratore bidirezionale, ma il membro della classe funziona inserimento e SET dispone di versioni che accettano come parametri di template un iteratore di input più debole, con requisiti di funzionalità sono più minimi di quelli garantiti dalla classe di iteratori bidirezionali.I concetti diversi di iteratore formano una famiglia correlata dai perfezionamenti la funzionalità.Ogni concetto di iteratore dispone di un set di requisiti e gli algoritmi che utilizzano tali il limite di devono le ipotesi ai requisiti fornite da questo tipo di iteratore.Può essere presuppostoe che un iteratore di input è possibile dereferenziare per fare riferimento a un oggetto e che può essere incrementato all'iteratore successivo nella sequenza.Questo è un set minimo di funzionalità, ma è sufficiente da poter comunicare chiaramente su un intervallo degli iteratori [_First, _Lastnel contesto delle funzioni membro della classe.

e8wh7665.collapse_all(it-it,VS.110).gifCostruttori

set

Crea un set che è vuoto o mediante la copia di tutto o parte di un altro set.

e8wh7665.collapse_all(it-it,VS.110).gifDefinizioni typedef

allocator_type

Un tipo che rappresenta la classe allocator per l'oggetto esistente.

const_iterator

Un tipo che fornisce un iteratore bidirezionale che può leggere un elemento constinsieme.

const_pointer

Un tipo che fornisce un puntatore a un elemento const in un gruppo.

const_reference

Un tipo che fornisce un riferimento a un elemento const archiviare in un set di lettura ed eseguire le operazioni const.

const_reverse_iterator

Un tipo che fornisce un iteratore bidirezionale in grado di leggere qualsiasi elemento constinsieme.

difference_type

Un tipo interi con segno che può essere utilizzato per rappresentare il numero di elementi di un set in un intervallo tra elementi indicato dagli iteratori.

iteratore

Un tipo che fornisce un iteratore bidirezionale in grado di leggere o modificare qualsiasi elemento in un gruppo.

key_compare

Un tipo che fornisce un oggetto funzione che può confrontare due chiavi di ordinamento per determinare l'ordine relativo di due elementi nel set.

key_type

Il tipo viene descritto un oggetto archiviato come elemento di un set la capacità come chiave di ordinamento.

pointer

Un tipo che fornisce un puntatore a un elemento in un gruppo.

riferimenti

Un tipo che fornisce un riferimento a un elemento ha archiviato in un gruppo.

reverse_iterator

Un tipo che fornisce un iteratore bidirezionale in grado di leggere o modificare un elemento in un set invertito.

size_type

Un tipo Integer senza segno che può rappresentare il numero di elementi in un gruppo.

value_compare

Il tipo che fornisce un oggetto funzione che può confrontare due elementi per determinare il relativo ordine dell'insieme.

value_type

Il tipo viene descritto un oggetto archiviato come elemento di un set la capacità come valore.

e8wh7665.collapse_all(it-it,VS.110).gifFunzioni membro

begin

Restituisce un iteratore destinato al primo elemento dell'insieme.

cbegin

Restituisce un iteratore const destinato al primo elemento dell'insieme.

cend

Restituisce un iteratore const destinato alla posizione che è l'ultimo elemento al set.

clear

Cancella tutti gli elementi di un insieme.

Conteggio

Restituisce il numero di elementi in un set di cui la chiave corrisponde a una chiave parametro- specificata.

crbegin

Restituisce un iteratore const destinato al primo elemento di un set invertito.

crend

Restituisce un iteratore const destinato alla posizione che è l'ultimo elemento a set invertito.

piazzi

Inserire un elemento costruito sul posto in serie.

emplace_hint

Inserire un elemento costruito sul posto in serie, con un suggerimento di posizione.

empty

Verifica se un set è vuoto.

end

Restituisce un iteratore destinato alla posizione che è l'ultimo elemento al set.

equal_range

Restituisce una coppia degli iteratori rispettivamente al primo elemento in un set con una chiave maggiore di una chiave specificata e il primo elemento nel set con una chiave a uguale a o maggiore della chiave.

con

Rimuove un elemento o un intervallo di elementi in un set da percorsi specificati o rimuove gli elementi che soddisfano una chiave specificata.

find

Restituisce un iteratore destinato alla posizione di un elemento in un gruppo che dispone di un equivalente principale in una chiave specificata.

get_allocator

Restituisce una copia dell'oggetto allocator utilizzato per creare il set.

inserimento

Inserire un elemento o un intervallo di elementi in serie.

key_comp

Recupera una copia dell'oggetto di confronto utilizzato alle chiavi di ordinamento in un gruppo.

lower_bound

Restituisce un iteratore il primo elemento in un set con una chiave a cui è uguale o superiore alla chiave specificata.

max_size

Restituisce la lunghezza massima del set.

rbegin

Restituisce un iteratore destinato al primo elemento di un set invertito.

rend

Restituisce un iteratore destinato alla posizione che è l'ultimo elemento a set invertito.

size

Restituisce il numero di elementi nel set.

scambio

Scambia gli elementi di due set.

upper_bound

Restituisce un iteratore il primo elemento in un set con una chiave che è superiore alla chiave specificata.

value_comp

Recupera una copia dell'oggetto di confronto utilizzato per i valori degli elementi di ordinamento in un gruppo.

e8wh7665.collapse_all(it-it,VS.110).gifOperatori

operator=

Sostituisce gli elementi di un set con una copia di un altro set.

Requisiti

Header: <set>

Spazio dei nomi: deviazione standard

Vedere anche

Riferimenti

Thread safety della libreria C++ standard

Libreria di modelli standard