Sdílet prostřednictvím


set Class

Nastavení STL kontejneru třídy slouží k ukládání a načítání dat z kolekce jsou jedinečné hodnoty obsažených prvků a sloužit jako klíčové hodnoty, podle kterých jsou data automaticky objednané.Nesmí přímo změnit hodnotu prvku v sadě.Místo toho musíte odstranit staré hodnoty a vložení prvků novými hodnotami.

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

Parametry

  • Key
    Typ dat prvku uloženým v sadě.

  • Traits
    Typ, který poskytuje funkce objektu, který lze porovnat dvě hodnoty prvku jako klíče řazení k určení jejich relativní pořadí v sadě.Tento argument je nepovinný a binárního predikátu méně <Key> je výchozí hodnota.

  • Allocator
    Typ, který představuje objekt uložené přidělování zapouzdří podrobnosti o přidělování a navracení zpět paměti sadě.Tento argument je nepovinný a výchozí hodnota je přidělování*<Key>.*

Poznámky

Nastavit STL je:

  • Asociativní kontejneru, který proměnnou velikost kontejneru, který podporuje efektivní načtení hodnoty elementu založen na související hodnotu klíče.Dále je jednoduchá asociativní kontejneru protože jeho hodnoty prvku jsou jeho klíče.

  • Vrátit zpět, protože poskytuje obousměrné iterační přístup k jeho prvky.

  • Seřadit, protože jeho prvky jsou seřazeny podle hodnot klíčů v kontejneru podle zadaného porovnání funkce.

  • V tom smyslu, že každá z jeho prvků musí mít jedinečný klíč je jedinečný.Sada je také jednoduchá asociativní kontejneru, jsou také jedinečné prvky.

Sada je také popsána jako šablona třídy, protože je funkce, které poskytuje obecný a nezávislé na konkrétní typ dat jako prvky obsažené.Typ dat, který má být použit, místo toho zadána jako parametr šablony třídy a funkce porovnání a přidělování.

Volba typu kontejner by měla obecně založena na typu hledání a vložením požadovaného aplikací.Asociativní kontejnery jsou optimalizovány pro operace vyhledávání, vkládání a odstraňování.Funkce členů, které výslovně podporují tyto operace jsou účinné provádění je v době, která v průměru úměrný logaritmu počet prvků v kontejneru.Vkládání prvků přestanou platit žádné u iterátorů a odstraňování elementů zruší platnost budou u pouze ty iterátorů, které bylo speciálně nepočítá prvky odstraněny.

Sada by měl být asociativní kontejneru výběr aplikací jsou splněny podmínky jejich klíče Přiřazení hodnoty.Prvky sady jsou jedinečné a sloužit jako vlastní klíče řazení.Model pro tento typ konstrukce je uspořádaný seznam, řekněte, slova, ve kterých slova může dojít pouze jednou.Pokud bylo povoleno více výskytů slova, by multimnožina struktura odpovídající kontejner.Pokud hodnoty je třeba připojit k seznamu slov jedinečný klíč, mapy by vhodné struktury obsahují tato data.Pokud místo klíče nejsou jedinečné, by vícenásobné mapování kontejneru voleb.

Sekvence ovládá pomocí volání uložené funkce objektu typu objednávky sady key_compare.Tento objekt uložené je funkce porovnání, která může být přístupné volání funkce člena key_comp.Obecně nutné prvky pouze menší než srovnatelné stanovit toto pořadí, aby dané dva prvky, může být stanoven, nebo že jsou rovnocenné (v tom smyslu, že ani menší než ostatní), jeden je menší než ostatní.Výsledkem objednání mezi nonequivalent prvky.Na další technické poznámky je funkce porovnání binárního predikátu, indukuje přísné slabé řazení v standardní matematickém smyslu.Binárního predikátu f(x, y) je funkce objektu, který má dva objekty argument x a y a vrácená hodnota true nebo false.Uložená sada řazení je přísné slabá objednávání binárního predikátu je nereflexivní, antisymetrického a přenosné a pokud je přenositelný rovnocennosti, kde dva objekty x a y jsou definovány jako rovnocenné, kdy obě f(x, y) a f(y, x) jsou nepravdivé.Pokud nahradí silnější podmínku rovnosti mezi klíči, rovnocennosti, pořadí se stane celkem (v tom smyslu, že jsou všechny prvky uspořádány k sobě) a odpovídající klíče budou od sebe indiscernible.

Iterační poskytuje sadu tříd je obousměrný iterace, ale funkce členů třídy Vložit a set verzemi vzít jako parametry šablony slabší vstupní iterace, jejichž funkce požadavky jsou minimální více než zaručené třídy iterátorů obousměrné.Iterační odlišné koncepty tvoří rodiny spojených zpřesnění jejich funkčnosti.Každý pojem iterační má vlastní sadu požadavky a algoritmy, které s nimi pracovat, musí omezit jejich předpoklady podle typu iterační požadavky.Může předpokládat, že může přímo odkázat vstupní iterační odkázat na některých objektů a může být zvýšen na další iterační v sekvenci.Toto je minimální sadu funkcí, ale je dostatečně moci hovořit o rozsahu u iterátorů srozumitelně [_First, _Last) v kontextu funkce členů dané třídy.

e8wh7665.collapse_all(cs-cz,VS.110).gifKonstruktory

nastavit

Vytvoří sadu prázdné nebo je kopírovat všechny nebo část jiné sady.

e8wh7665.collapse_all(cs-cz,VS.110).gifFunkce TypeDef

allocator_type

Typ, který představuje allocator třídy pro objekt sady.

const_iterator

Typ, který poskytuje obousměrné iterační která mohou číst const prvku v sadě.

const_pointer

Typ, který obsahuje ukazatel const prvku v sadě.

const_reference

Typ, který poskytuje odkaz na const prvku uložena v sadě pro čtení a provádění const operace.

const_reverse_iterator

Typ, který poskytuje obousměrné iterační která mohou číst všechny const prvku v sadě.

difference_type

Typ číslo se znaménkem představující počet prvků v rozsahu mezi prvky odkazuje u iterátorů sadu lze použít.

iterace

Typ, který poskytuje obousměrné iterace, který lze číst nebo upravovat libovolný prvek v sadě.

key_compare

Typ, který poskytuje funkce objektu, který lze porovnat dva klíče řazení určit relativní pořadí dvou prvků v sadě.

key_type

Popisuje typ objektu uložen jako element sadu jako klíč řazení.

ukazatel

Typ, který obsahuje ukazatel na prvek v sadě.

odkaz

Typ, který poskytuje odkaz na element uložena v sadě.

reverse_iterator

Typ, který poskytuje obousměrné iterace, mohou číst nebo upravovat prvek stornované sady.

size_type

Zadejte celé číslo bez znaménka, představující počet prvků v sadě.

value_compare

Typ, který poskytuje funkce objektu, který lze porovnat dva prvky k určení jejich relativní pořadí v sadě.

value_type

Popisuje typ objektu uložen jako element sadu jako hodnotu.

e8wh7665.collapse_all(cs-cz,VS.110).gifFunkce členů

začít

Vrátí iterátoru, který řeší první prvek v sadě.

cbegin

Vrátí iterační const, který řeší první prvek v sadě.

cend

Vrátí iterační const, který řeší umístění následných poslední prvek v sadě.

Vymazat

Vymaže všechny prvky sady.

počet

Vrátí počet prvků v sadě, jehož klíč odpovídá zadán parametr klíč.

crbegin

Vrátí const iterační adresování první prvek v sadě převrácené.

crend

Vrátí iterační const, který řeší umístění následných poslední prvek v sadě stornované.

emplace

Vloží prvek do sady vyrobeno na místě.

emplace_hint

Vloží prvek vyrobeno na místě do sady nápovědu pro umístění.

prázdné

Zkoušky sada je prázdný.

Konec

Vrátí iterátoru, který řeší umístění následných poslední prvek v sadě.

equal_range

Vrátí funkce dvojice iterátorů první prvek v sadě s klíčem, který je větší než zadaný klíč a první prvek v sadě s klíčem, který je roven nebo větší než klíč.

Vymazat

Odebere prvek nebo rozsah prvků v sadě od zadané pozice nebo odebere prvky, které odpovídají zadaným klíčem.

Najít

Vrátí iterátoru adresování umístění prvku sadu, která obsahuje ekvivalentní klávesa klíč.

get_allocator

Vrátí kopii allocator objekt použitý k vytvoření sady.

Vložit

Vloží prvek nebo prvky rozsah sadu.

key_comp

Získá kopii objektu porovnání použít pořadí klíče v sadě.

lower_bound

Iterace vrátí první prvek v sadě s klíčem, který je roven nebo větší než zadaný klíč.

max_size

Vrátí maximální délka sady.

rbegin

Vrátí iterátoru adresování první prvek v sadě převrácené.

rend

Vrátí iterátoru, který řeší umístění následných poslední prvek v sadě stornované.

size

Vrátí počet prvků v sadě.

Zaměnit

Výměny dvě sady prvků.

upper_bound

Iterace vrátí první prvek v sadě s klíčem, který je větší než zadaný klíč.

value_comp

Získá kopii objektu porovnání používá pořadí hodnot prvek v sadě.

e8wh7665.collapse_all(cs-cz,VS.110).gifOperátory

operátor =

Nahradí kopie jinou sadu prvků sady.

Požadavky

Záhlaví: <set>

Obor názvů: std

Viz také

Referenční dokumentace

Bezpečnostní vlákno v Standardní knihovna C++

Standardní šablona knihovny