Partilhar via


set Class

O conjunto de classe do contêiner de STL é usado para armazenamento e recuperação de dados de uma coleção em que os valores dos elementos contidos são exclusivos e de serve como os valores da chave de acordo com que os dados são ordenados automaticamente.O valor de um elemento em um dataset não pode ser alterado diretamente.Em vez de isso, você deve excluir valores antigo e inserir os elementos com novos valores.

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

Parâmetros

  • Key
    O elemento tipo de dados a ser armazenado no dataset.

  • Traits
    O tipo que fornece um objeto de função que possa comparar dois valores de elemento como chaves de tipo para determinar a ordem relativa no dataset.Esse argumento é opcional, e o predicado binário less*<Key>* é o valor padrão.

  • Allocator
    O tipo que representa o objeto armazenado do distribuidor que encapsula detalhes sobre a alocação e a desalocação do conjunto de memória.Esse argumento é opcional, e o valor padrão é allocator*<Key>.*

Comentários

Um conjunto de STL é:

  • Um contêiner associativo, enquanto um contêiner variável de tamanho que ofereça suporte a recuperação eficiente de valores de elemento baseasse em um valor de chave associada.Além de isso, é um contêiner associativo simples porque seus valores de elemento são os valores chave.

  • Reversível, porque ele fornece um iterador bidirecional para acessar seus elementos.

  • Ordenada, porque seus elementos são ordenados pelos valores de dentro do contêiner de acordo com uma função especificada de comparação.

  • Exclusivo no sentido que cada um dos seus elementos deve ter uma chave exclusiva.Desde que o conjunto é também um contêiner associativo simples, seus elementos também são exclusivos.

Um conjunto é descrito também como uma classe de modelo porque a funcionalidade que fornece é genérico e o independente do tipo específico de dados contidos como elementos.O tipo de dados a ser usado, em vez de isso, é especificado como um parâmetro no modelo de classe juntamente com a função e o distribuidor de comparação.

A escolha do tipo recipiente deve ser geralmente com base no tipo de pesquisa e de inserir exigido pelo aplicativo.Contêiners associativos são otimizados para operações de pesquisa, de inserção e remoção.As funções de membro que suportam explicitamente essas operações são eficientes, executando as em um horário que estão na média proporcionalmente para o logaritmo o número de elementos no recipiente.Inserindo os elementos não invalida nenhum iterador, e remover elementos invalida somente os iteradores que eles tivessem apontada especificamente em elementos removidos.

O conjunto deve ser o contêiner associativo de opção quando as condições que associa os valores com suas chaves forem atendidas pelo aplicativo.Os elementos de um dataset são exclusivos e serve como suas próprias chaves de tipo.Um modelo para esse tipo de estrutura é ordenada por exemplo uma lista de palavras em que a palavra podem ocorrer apenas uma vez.Se várias ocorrências da palavra foram permitidas, então um multiset seria a estrutura do recipiente apropriado.Se os valores precisam ser anexados a uma lista de palavras chaves de chave exclusiva, então um mapa seria uma estrutura apropriado para conter esses dados.Se o invés das chaves não são exclusivos, então um multimap seria o contêiner de escolha.

O conjunto da seqüência que controla chamando um objeto armazenado na função do tipo key_compare.Este objeto armazenado é uma função de comparação que pode ser acessada chamar a função de membro key_comp.Geralmente, os elementos precisam ser simplesmente menor que comparáveis estabelecer esta ordem de forma que, dado todos os dois elementos, pode determinar se qualquer um que são equivalentes (no sentido que nenhum for menor do que o outro) ou um que é menor que o outro.Isso resulta em ordenação entre elementos nonequivalent.Em uma nota mais técnica, a função de comparação binária é um predicado que induza ordenação fraco strict no sentido matemático padrão.Um predicado fde binária (*x, y)*é um objeto de função que tem dois objetos de argumento x e y e um valor de retorno de true ou de false.Classificação aplicada em um conjunto de livre é restrito se o predicado binária é irreflexive, anti-simétrico, e transitivo e se equivalência é transitiva, onde dois objetos x e y são definidos para ser equivalentes enquanto tanto f(*x, y)*e f(*x, y)*é falso.Se a condição mais segura de igualdade entre chaves substitui os de equivalência, então ordenação transformações total (no sentido que todos os elementos são ordenados em relação a se) e chaves correspondidas serão indiscerníveis de se.

O iterador fornecido pela classe é ajustada um iterador bidirecional, mas as funções de membro inserção e dataset de classe têm as versões que recebem como parâmetros de modelo um iterador mais flexível de entrada, cujos requisitos mínimos de funcionalidade sejam mais do que aquelas se a classe de iteradores bidirecionais.Os conceitos diferentes de iterador formam uma família relacionada por refinamentos em sua funcionalidade.Cada conceito de iterador tem seu próprio conjunto de requisitos, e os algoritmos que funcionam com eles o limite de deve as suposições os requisitos fornecidos pelo tipo de iterador.Pode-se suponha que um iterador de entrada pode ser desreferenciado para referir-se a qualquer objeto e que pode ser iterador incrementado a seguir na seqüência.Este é um conjunto mínimo de funcionalidade, mas é suficiente para poder falar significativa sobre um intervalo de iteradores [_First, _Last) no contexto das funções de membro da classe.

e8wh7665.collapse_all(pt-br,VS.110).gifConstrutores

dataset

Constrói um conjunto que seja vazio ou que é uma cópia de todo ou parte de um outro conjunto.

e8wh7665.collapse_all(pt-br,VS.110).gifTypedefs

allocator_type

Um tipo que representa a classe de allocator para o objeto definido.

const_iterator

Um tipo que fornece um iterador bidirecional que possa ler um elemento de const no dataset.

const_pointer

Um tipo que provê um ponteiro para um elemento de const em um dataset.

const_reference

Um tipo que fornecesse uma referência a um elemento de const armazenado em um conjunto para ler e executar operações de const .

const_reverse_iterator

Um tipo que fornece um iterador bidirecional que pode ler qualquer elemento de const no dataset.

difference_type

Um tipo de inteiro com sinal que pode ser usado para representar o número de elementos de um dataset em um intervalo entre elementos. apontado por iteradores

iterador

Um tipo que fornece um iterador bidirecional que pode ler ou modificar qualquer elemento em um dataset.

key_compare

Um tipo que provê um objeto de função que pode comparar duas chaves de tipo para determinar a ordem relativo de dois elementos no dataset.

key_type

o tipo descreve um objeto armazenado como um elemento de um conjunto em sua capacidade como a chave de tipo.

ponteiro

Um tipo que provê um ponteiro para um elemento em um dataset.

referência

Um tipo que fornecesse uma referência a um elemento armazenado em um dataset.

reverse_iterator

Um tipo que fornece um iterador bidirecional que pode ler ou modificar um elemento em um conjunto falha.

size_type

Um tipo inteiro sem sinal de que possa representar o número de elementos em um dataset.

value_compare

O tipo que fornece um objeto de função que possa comparar dois elementos para determinar a ordem relativa no dataset.

value_type

o tipo descreve um objeto armazenado como um elemento de um conjunto em sua capacidade como um valor.

e8wh7665.collapse_all(pt-br,VS.110).gifFunções de membro

inicie

Retorna um iterador atende o primeiro elemento no dataset.

cbegin

Retorna um iterador const atende o primeiro elemento no dataset.

cend

Retorna um iterador const atende o local que é bem-sucedido o último elemento em um dataset.

espaço livre

Apaga todos os elementos de um dataset.

contagem

Retorna o número de elementos em um conjunto cuja chave corresponde a uma chave parâmetro- especificada.

crbegin

Retorna um iterador const que trata o primeiro elemento em um conjunto falha.

crend

Retorna um iterador const atende o local que é bem-sucedido o último elemento em um conjunto falha.

emplace

Insere um elemento construído no lugar em um dataset.

emplace_hint

Insere um elemento construído no lugar em um dataset, com uma dica de posicionamento.

vazio

Teste se um conjunto está vazia.

end

Retorna um iterador atende o local que é bem-sucedido o último elemento em um dataset.

equal_range

Retorna um par de iteradores respectivamente para o primeiro elemento em um dataset com uma chave que é maior do que uma chave especificada e para o primeiro elemento em conjunto com uma chave para que é igual ou maior do que a chave.

erase

Remove um elemento ou um intervalo de elementos em um conjunto das posições especificadas ou removendo os elementos que correspondem a uma chave especificada.

localizar

Retorna um iterador que trata o local de um elemento em um conjunto principal que tenha um equivalente a uma chave especificada.

get_allocator

Retorna uma cópia do objeto de allocator usado para construir o conjunto.

inserção

Insere um elemento ou um intervalo de elementos em um dataset.

key_comp

Recupera uma cópia do objeto de comparação usado para chaves de ordem em um dataset.

lower_bound

Retorna um iterador para o primeiro elemento em um dataset com uma chave para que é igual ou maior do que a chave especificada.

max_size

Retorna o comprimento máximo do conjunto.

rbegin

Retorna um iterador que trata o primeiro elemento em um conjunto falha.

arrancar

Retorna um iterador atende o local que é bem-sucedido o último elemento em um conjunto falha.

tamanho

Retorna o número de elementos no dataset.

troca

Troca os elementos de dois conjuntos.

upper_bound

Retorna um iterador para o primeiro elemento em um dataset com uma chave que é maior do que uma chave especificada.

value_comp

Recupera uma cópia do objeto de comparação usado para valores de elemento de ordem em um dataset.

e8wh7665.collapse_all(pt-br,VS.110).gifOperadores

operator=

Substitui os elementos de um dataset com uma cópia de um outro conjunto.

Requisitos

Cabeçalho: <set>

namespace: STD

Consulte também

Referência

Segurança do thread na biblioteca C++ padrão

Standard Template Library