[Полупроводники ]
class template
<vector>

std::vector

template < class T, class Alloc = allocator<T> > class vector; // generic template
Векторы — это, так сказать, умные массивы. Они занимаются автоматическим размещением себя в памяти, расширением и сужением своего размера по мере 
вставки или удаления данных. Векторы можно использовать в какой-то мере как массивы, обращаясь к элементам с помощью привычного оператора []. Случай- 
ный доступ выполняется очень быстро в векторах. Также довольно быстро осуществляется добавление (или проталкивание) новых данных в конец вектора.
Когда это происходит, размер вектора автоматически увеличивается для того, чтобы было куда положить новое значение. 
 

Container properties

Sequence
Elements in sequence containers are ordered in a strict linear sequence. Individual elements are accessed by their position in this sequence.
Dynamic array
Allows direct access to any element in the sequence, even through pointer arithmetics, and provides relatively fast addition/removal of elements at the end of the sequence.
Allocator-aware
The container uses an allocator object to dynamically handle its storage needs.
 

Template parameters

T
Type of the elements.
Only if T is guaranteed to not throw while moving, implementations can optimize to move elements instead of copying them during reallocations.
Aliased as member type vector::value_type.
Alloc
Type of the allocator object used to define the storage allocation model. By default, the allocator class template is used, which defines the simplest memory allocation model and is value-independent.
Aliased as member type vector::allocator_type.
 

Member types

member type definition notes
value_type The first template parameter (T)  
allocator_type The second template parameter (Alloc) defaults to:allocator<value_type>
reference value_type&  
const_reference const value_type&  
pointer allocator_traits<allocator_type>::pointer for the default allocator:value_type*
const_pointer allocator_traits<allocator_type>::const_pointer for the default allocatorconst value_type*
iterator random access iterator to value_type convertible to const_iterator
const_iterator random access iterator to const value_type  
reverse_iterator reverse_iterator<iterator>  
const_reverse_iterator reverse_iterator<const_iterator>  
difference_type a signed integral type, identical to:
iterator_traits<iterator>::difference_type
usually the same as ptrdiff_t
size_type an unsigned integral type that can represent any non-negative value of difference_type usually the same as size_t
 

Member functions


Iterators:
Capacity:
Element access:
Modifiers:
Allocator:  

Non-member function overloads

 

Template specializations