Conteneur · 2019. 10. 10. · Conteneurs (containers) : collections d'objets très efficaces :...
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