Conteneur · 2019. 10. 10. · Conteneurs (containers) : collections d'objets très efficaces :...

6
Conteneurs (containers) : collections d'objets très efficaces : vecteurs, listes chaînées, STL STL Conteneur iterator begin() iterator end() bool empty Séquence vector list deque Associatif map multimap set multiset Paramétrés par la clé et la valeur Paramétrés par la clé Itérateurs (Iterators) ; fonctionnalités pour parcourir les éléments qui se retrouvent dans les conteneurs. Algorithmes : patrons de fonctions utilisés pour faire des traitements sur les éléments qui se retrouvent dans les conteneurs. = classes containers + iterateurs + algorithmes STL Tableaux Dyn. Listes 2ble Ch. Fils à 2ble accès

Transcript of Conteneur · 2019. 10. 10. · Conteneurs (containers) : collections d'objets très efficaces :...

  • Conteneurs (containers) : collections d'objets très efficaces : vecteurs, listes chaînées, …

    STLSTL

    Conteneur iterator begin() iterator end() bool empty

    Séquence

    vector list deque

    Associatif

    map multimap set multiset

    Paramétrés par la clé et la valeur Paramétrés par la clé

    Itérateurs (Iterators) ; fonctionnalités pour parcourir les éléments qui se retrouvent dans les conteneurs.

    Algorithmes : patrons de fonctions utilisés pour faire des traitements sur les éléments qui se retrouvent dans les conteneurs.

    = classes containers + iterateurs + algorithmes

    STL

    Tableaux Dyn. Listes 2ble Ch. Fils à 2ble accès

  • Headers

    Members array vector deque forward_list list

    constructor implicit vector deque forward_list list

    destructor implicit ~vector ~deque ~forward_list ~list

    operator= implicit operator= operator= operator= operator=

    iterators

    begin begin begin begin begin before_begin

    begin

    end end end end end end

    rbegin rbegin rbegin rbegin rbegin

    rend rend rend rend rend

    const iterators

    cbegin cbegin cbegin cbegin cbegin

    cbefore_begin cbegin

    cend cend cend cend cend cend

    crbegin crbegin crbegin crbegin crbegin

    crend crend crend crend crend

    capacity

    size size size size size

    max_size max_size max_size max_size max_size max_size

    empty empty empty empty empty empty

    resize resize resize resize resize

    Fonctions membres

    STL

  • Headers

    Members array vector deque forward_list list

    element access

    front front front front front front

    back back back back back

    operator[] operator[] operator[] operator[]

    at at at at

    modifiers

    assign assign assign assign assign

    emplace emplace emplace emplace_after emplace

    insert insert insert insert_after insert

    erase erase erase erase_after erase

    emplace_back emplace_back emplace_back emplace_back

    push_back push_back push_back push_back

    pop_back pop_back pop_back pop_back

    emplace_front emplace_front emplace_front emplace_front

    push_front push_front push_front push_front

    pop_front pop_front pop_front pop_front

    clear clear clear clear clear

    swap swap swap swap swap swap

    list operations

    splice splice_after splice

    remove remove remove

    remove_if remove_if remove_if

    unique unique unique

    merge merge merge

    sort sort sort

    reverse reverse reverse

    observers get_allocator get_allocator get_allocator get_allocator get_allocator

    data data data

    STL

    Fonctions membres

  • Le template Vector

    Constructeurs vector v; default constructor

    vector v(int); initialized with explicit size

    vector v(int, T); size and initial value

    vector v(&Vector); copy constructor

    Accès aux éléments v[i] subscript access (not safe)

    v.at(i) subscript access (safe)

    v.front() first value in collection

    v.back() last value in collection

    Insertion v.push_back(T) push element on to back of vector

    v.insert(iterator, T) insert new element after iterator

    v.swap(vector) swap values with another vector

    Suppression v.pop_back() pop element from back of vector

    v.erase(iterator) remove single element

    v.erase(iterator, iterator) remove range of values

    Taille v.capacity() number of elements buffer can hold

    v.size() number of elements currently held

    v.resize(unsigned, T) change to size, padding with value

    v.reserve(unsigned) set physical buffer size

    v.empty() true if vector is empty

    Itérateurs vector::iterator itr declare a new iterator

    v.begin() starting iterator

    v.end() ending iterator

    Fonctions membres

    STL

    (vector)

    expression Autre sémantique conteneur

    a.front() *a.begin() vector, list

    a.back() *a.(--end()) vector, list

    a.push_front(t) a.insert(a.begin(), t) list

    a.push_back(t) a.insert(a.end(), t) vector, list

    a.pop_front() a.erase(a.begin()) list

    a.pop_back() a.erase(--a.end()) vector, list

    a[n] *(a.begin() + n) vector

  • Les listes Constructeurs et affectation list v; default constructor

    list v (aList); copy constructor

    l = a List assignment

    l.swap (aList) swap values with another list

    Accès aux éléments l.front () first element in list

    l.back () last element in list

    Insertion et suppression l.push_front (value) add value to front of list

    l.push_back (value) add value to end of list

    l.insert (iterator, value) insert value at speci_ed location

    l.pop_front () remove value from front of list

    l.pop_back () remove value from end of list

    l.erase(iterator) remove referenced element

    l.erase(iterator,iterator) remove range of elements

    l.remove (value) remove all occurrences of value

    l.remove_if (predicate) removal all values that match condition

    Taille l.empty () true if collection is empty

    l.size () return number of elements in collection

    Itérateurs list::iterator itr declare a new iterator

    l.begin () starting iterator

    l.end () ending iterator

    Divers l.reverse () reverse order of elements

    l.sort () place elements into ascending order

    l.sort (comparison) order elements using comparison function

    l.merge (list) merge with another ordered list

    Fonctions membres

    STL

    (list)

  • Headers

    Members set multiset map multimap

    constructor set multiset map multimap

    destructor ~set ~multiset ~map ~multimap

    assignment operator= operator= operator= operator=

    iterators

    begin begin begin begin begin

    end end end end end

    rbegin rbegin rbegin rbegin rbegin

    rend rend rend rend rend

    const

    iterators

    cbegin cbegin cbegin cbegin cbegin

    cend cend cend cend cend

    crbegin crbegin crbegin crbegin crbegin

    crend crend crend crend crend

    capacity

    size size size size size

    max_size max_size max_size max_size max_size

    empty empty empty empty empty

    reserve

    element access

    at at

    operator[] operator[]

    modifiers

    emplace emplace emplace emplace emplace

    emplace_hint emplace_hint emplace_hint emplace_hint emplace_hint

    insert insert insert insert insert

    erase erase erase erase erase

    clear clear clear clear clear

    swap swap swap swap swap

    Operations

    count count count count count

    find find find find find

    equal_range equal_range equal_range equal_range equal_range

    lower_bound lower_bound lower_bound lower_bound lower_bound

    upper_bound upper_bound upper_bound upper_bound upper_bound

    observers

    get_allocator get_allocator get_allocator get_allocator get_allocator

    key_comp key_comp key_comp key_comp key_comp

    value_comp value_comp value_comp value_comp value_comp