Compartir a través de


set Class

Utilizan el conjunto de la clase de contenedor de STL para el almacenamiento y la recuperación de datos de una colección en la que los valores de los elementos contenidos son únicos y de servicio como valores de clave según los que los datos se ordena.el valor de un elemento en un conjunto no se puede cambiar directamente.En su lugar, debe eliminar valores antiguos y insertar elementos con nuevos valores.

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

Parámetros

  • Key
    El tipo de datos del elemento que se almacene en el conjunto.

  • Traits
    El tipo que proporciona un objeto de función que puede comparar dos valores de elemento como criterio de ordenación para determinar el orden relativo del conjunto.este argumento es opcional, y el predicado binario menos <Clave> es el valor predeterminado.

  • Allocator
    El tipo que representa el objeto almacenado de asignador que encapsula los detalles sobre la asignación y la desasignación de conjunto de memoria.este argumento es opcional, y el valor predeterminado es asignador <Clave> .

Comentarios

un conjunto de STL es:

  • Un contenedor asociativa, que un contenedor variable de tamaño que admiten la extracción eficaz de los valores de elemento basándose en un valor de clave asociado.Además, es un contenedor asociativa simple porque sus valores de elemento son los valores de clave.

  • reversible, porque proporciona un iterador bidireccional para tener acceso a sus elementos.

  • Ordenados, porque los elementos se ordenan por valores de clave dentro del contenedor de acuerdo con una función especificada de la comparación.

  • Único en el sentido de que cada uno de sus elementos debe tener una clave única.Puesto que el conjunto es también un contenedor asociativa simple, sus elementos también son únicos.

Describen un conjunto también como una clase de plantilla porque la funcionalidad que proporciona es genérica y independiente del tipo específico de datos contenido como elementos.Especifique el tipo de datos que se utilizará, en su lugar, como un parámetro en la plantilla de clase junto con la función y el asignador de comparación.

La opción de tipo de contenedor deben basarse en general en el tipo de búsqueda e insertar requerido por la aplicación.Los contenedores asociativos se optimizan para las operaciones de búsqueda, de inserción y eliminación.Las funciones miembro que explícitamente admite estas operaciones es eficaz, efectuandolas en una hora que sea por término medio proporcional al logaritmo del número de elementos en el contenedor.Insertar elementos no invalida ningún iterador, y quitar elementos reemplaza solo los iteradores que habían notificado específicamente en los elementos eliminados.

El conjunto debe ser el contenedor asociativa choice si las condiciones que asocian los valores a las claves son satisfechas por la aplicación.Los elementos de un conjunto son únicos y actúan como sus propios criterios de ordenación.Un modelo para este tipo de estructura es una lista ordenada, por ejemplo, de palabras en las que las palabras pueden aparecer sólo una vez.Si varias apariciones de las palabras se permitidas, un conjunto múltiple sería la estructura apropiada del contenedor.Si los valores deben estar asociados a una lista de palabras claves únicas, un mapa sería una estructura adecuada para contener estos datos.Si en su lugar las claves no son únicas, un multimap sería el contenedor de la opción.

El conjunto pide la secuencia que controla llamando a un objeto almacenado de función de key_compareescrito.Este objeto almacenado es una función de comparación que se puede tener acceso llamando a la función key_compmiembro.Los elementos suelen necesitar ser simplemente menos que comparables establecer este orden para, con los dos elementos, poder determinar cualquiera que es equivalente (en el sentido de que ninguno es menor que otro) o que uno es menor que otro.Esto produce el orden entre los elementos distintos.En otra nota técnica, la función de comparación es un predicado binario que induce la ordenación parcial estricto en el sentido matemático estándar.Una fbinaria de predicado (*x, y)*es un objeto de función que tiene dos objetos de argumento xe y y un valor devuelto de TRUE o de Falso.El orden impuesto a un conjunto es el orden débil estricto si el predicado binario es irreflexive, antisimétrico, y transitiva y si la equivalencia es transitiva, donde definido dos objetos xe y ser equivalentes cuando tanto f(*x, y)*y f(*la y, x)*es false.Si la condición más fuerte de igualdad entre las teclas reemplaza el de equivalencia, el orden se convierte en total (en el sentido de que todos los elementos están ordenados en sí) y que las claves se imperceptibles entre sí.

El iterador proporcionado por la clase determinada es un iterador bidireccional, pero el miembro de clase funciona inserción y conjunto tiene versiones que toman como parámetros de plantilla un iterador más débil de entrada, cuyos requisitos de funcionalidad son más mínimos que los garantizados por la clase de iteradores bidireccionales.Los distintos conceptos de iterador forman una familia relacionada por refinamientos en su funcionalidad.Cada concepto de iterador tiene su propio conjunto de requisitos, y algoritmos que funcionan con ellos límite de la necesidad sus suposiciones a los requisitos proporcionados por ese tipo de iterador.Se supone que un iterador de entrada se puede desreferenciar para hacer referencia a algún objeto y que puede incrementar el iterador siguiente de la secuencia.Éste es un conjunto mínimo de funcionalidad, pero es suficiente para poder comunicarse significativo sobre un intervalo de iteradores [_First, _Last) en el contexto de las funciones miembro de clases.

e8wh7665.collapse_all(es-es,VS.110).gifConstructores

set

Construye un conjunto que está vacío o que es una copia de todo o parte de algún otro conjunto.

e8wh7665.collapse_all(es-es,VS.110).gifTypedefs

allocator_type

un tipo que representa la clase de allocator para el objeto determinado.

const_iterator

un tipo que proporciona un iterador bidireccional que pueda leer un elemento de const en el conjunto.

const_pointer

un tipo que proporciona un puntero a un elemento de const en un conjunto.

const_reference

Un tipo que proporciona una referencia a un elemento de const almacenados en un conjunto para leer y realizar operaciones de const .

const_reverse_iterator

un tipo que proporciona un iterador bidireccional que pueda leer cualquier elemento de const en el conjunto.

difference_type

Un entero con signo escribe que se puede usar para representar el número de elementos de un conjunto en un intervalo entre elementos indicada por los iteradores.

Iterador

Un tipo que proporciona un iterador bidireccional que pueda leer o modificar cualquier elemento de un conjunto.

key_compare

Un tipo que proporciona un objeto de función que puede comparar dos criterios de ordenación para determinar el orden relativo de dos elementos del conjunto.

key_type

el tipo describe un objeto almacenado como elemento de un conjunto en su capacidad como criterio de ordenación.

pointer

Un tipo que proporciona un puntero a un elemento de un conjunto.

Referencia .

Un tipo que proporciona una referencia a un elemento almacenados en un conjunto.

reverse_iterator

Un tipo que proporciona un iterador bidireccional que pueda leer o modificar un elemento de un conjunto invertido.

size_type

un entero sin signo escribe que puede representar el número de elementos en un conjunto.

value_compare

El tipo que proporciona un objeto de función que puede comparar dos elementos para determinar el orden relativo del conjunto.

value_type

el tipo describe un objeto almacenado como elemento de un conjunto en su capacidad como valor.

e8wh7665.collapse_all(es-es,VS.110).gifFunciones miembro

begin

Devuelve un iterador que dirige el primer elemento del conjunto.

cbegin

Devuelve un iterador const que dirige el primer elemento del conjunto.

cend

Devuelve un iterador const que dirige la ubicación que funciona correctamente el último elemento en un conjunto.

clear

borra todos los elementos de un conjunto.

count

Devuelve el número de elementos en un conjunto cuya clave coincide con una clave parámetro-especificada.

crbegin

Devuelve un iterador const que dirige el primer elemento de un conjunto invertido.

crend

Devuelve un iterador const que dirige la ubicación que funciona correctamente el último elemento en un conjunto invertido.

emplace

inserta un elemento construido en el lugar en un conjunto.

emplace_hint

Inserta un elemento construido en el lugar en un conjunto, con una sugerencia de posición.

empty

Prueba si un conjunto está vacío.

end

Devuelve un iterador que dirige la ubicación que funciona correctamente el último elemento en un conjunto.

equal_range

Devuelve un par de iteradores respectivamente al primer elemento de un conjunto con una clave mayor que una clave especificada y al primer elemento del conjunto con una clave a la que sea igual o mayor que la clave.

barrido

Quita un elemento o un intervalo de elementos en un conjunto de posiciones especificadas o quita los elementos que coinciden con una clave especificada.

find

Devuelve un iterador que dirige la ubicación de un elemento en un conjunto que tenga un equivalente key en una clave especificada.

get_allocator

Devuelve una copia del objeto de allocator utilizado para construir el conjunto.

inserción

inserta un elemento o un intervalo de elementos en un conjunto.

key_comp

Recupera una copia del objeto de comparación utilizado a claves ordenadas en un conjunto.

lower_bound

Devuelve un iterador al primer elemento de un conjunto con una clave a la que sea igual o mayor que una clave especificada.

max_size

Devuelve la longitud máxima del conjunto.

rbegin

Devuelve un iterador que dirige el primer elemento de un conjunto invertido.

rend

Devuelve un iterador que dirige la ubicación que funciona correctamente el último elemento en un conjunto invertido.

size

Devuelve el número de elementos del conjunto.

intercambio

Cambie los elementos de dos conjuntos.

upper_bound

Devuelve un iterador al primer elemento de un conjunto con una clave mayor que una clave especificada.

value_comp

Recupera una copia del objeto de comparación utilizado para los valores pedidos de un conjunto.

e8wh7665.collapse_all(es-es,VS.110).gifOperadores

operator=

reemplaza los elementos de un conjunto con una copia de otro conjunto.

Requisitos

encabezado: <conjunto>

espacio de nombres: std

Vea también

Referencia

Seguridad para subprocesos de la biblioteca estándar de C++

Biblioteca de plantillas estándar