Инструменты пользователя

Инструменты сайта


klass_vector

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
klass_vector [2011/03/06 13:39]
127.0.0.1 внешнее изменение
— (текущий)
Строка 1: Строка 1:
-====== Класс vector ====== 
-Класс **vector** поддерживает динамический массив и счетчик элементов,​ сохраненных в нем. Контейнер в своей внутренней работе постоянно использует операцию копирования,​ поэтому в vector лучше хранить значения только для простых типов (например int). В случае пользовтельских данных (class) в vector нужно хранить указатели на классы. 
  
-Спецификация его шаблона имеет следующий вид: ​ 
-<​file>​ 
-template <class T, class Allocator = Allocator<​T>>​ 
-class vector 
-</​file>​ 
- 
-Здесь T - тип сохраняемых данных,​ а Allocator задает распределитель. Класс vector имеет следующие конструкторы:​ 
- 
-<​file>​ 
-explicit vector(const Allocator &a = Allocator());​ 
- 
-explicit vector(size_type num, const T &val = T(), const Allocator &a = Allocator());​ 
- 
-vector(const vector <​T,​Allocator>​ &ob); 
- 
-template < class InIter> vector(InIter start, InIter end, const Allocator &a = Allocator());​ 
-</​file>​ 
-Первая форма конструктора создает пустой вектор. Вторая создает вектор,​ который создает num элементов со значением val. Третья создает вектор,​ который содержит те же элементы,​ что и вектор ob. Четвертая создает вектор,​ который содержит элементы в диапазоне,​ заданном параметрами start и end. 
-====== Ссылки ====== 
-  * [[http://​www.quizful.net/​post/​clever-dynamic-array-template|Пишем шаблон умного динамического массива]] 
-====== Функции-члены ====== 
-Для класса vector определены следующие операторы сравнения:​ 
- 
-<​file>​ 
-==  
- 
-<=  
-!=  
- 
->= 
-</​file>​ 
- 
-Класс vector содержит следующие функции-члены:​ 
- 
-<​file>​ 
-template <class InIter> void assign(InIter start, InIter end); 
- 
-Помещает в вектор последовательность,​ определяемую параметрами start и end. 
- 
-void assign(size_type num, const T &val); 
- 
-Помещает в вектор num элементов со значением val. 
- 
- 
--------------------------------------------------------------------------------- 
- 
-reference at(size_type i); 
- 
-const_reference at(size_type i) const; 
- 
-Возвращает ссылку на элемент,​ заданный параметром i. При этом, в отличие от перегруженного оператора [] данная функция в случае выхода за пределы массива генерирует исключение. 
- 
- 
--------------------------------------------------------------------------------- 
- 
-reference back(); 
- 
-const_reference back() const; 
- 
-Возвращает ссылку на последний элемент в векторе. 
- 
- 
--------------------------------------------------------------------------------- 
- 
-iterator begin(); 
- 
-const_iterator begin() const; 
- 
-Возвращает итератор для первого элемента в векторе. 
- 
- 
--------------------------------------------------------------------------------- 
- 
-size_type capacity() const; 
- 
-Возвращает текущую ёмкость вектора,​ которая представляет собой количество элементов,​ способное храниться в векторе до того, как возникнет необходимость в выделении дополнительной памяти. 
- 
- 
--------------------------------------------------------------------------------- 
- 
-void clear(); 
- 
-Удаляет все элементы из вектора. 
- 
- 
--------------------------------------------------------------------------------- 
- 
-bool empty() const; 
- 
-Возвращает значение истины,​ если используемый вектор пуст, и значение лжи в противном случае. 
- 
- 
--------------------------------------------------------------------------------- 
- 
-const_iterator end() const; 
- 
-iterator end(); 
- 
-Возвращает итератор для конца вектора. 
- 
- 
--------------------------------------------------------------------------------- 
- 
-iterator erase(iterator i); 
- 
-Удаляет элемент,​ адресуемый итератором i, возвращает итератор для элемента,​ расположенного после удаленного. 
- 
- 
--------------------------------------------------------------------------------- 
- 
-iterator erase(iterator start, iterator end); 
- 
-Удаляет элементы в диапазоне,​ задаваемом параметрами start и end, возвращает итератор для элемента,​ расположенного за последним удалённым элементом. 
- 
- 
--------------------------------------------------------------------------------- 
- 
-reference front(); 
- 
-const_reference front() const; 
- 
-Возвращает ссылку на первый элемент в векторе. 
- 
- 
--------------------------------------------------------------------------------- 
- 
-allocator_type get_allocator() const; 
- 
-Возвращает распределитель вектора. 
- 
- 
--------------------------------------------------------------------------------- 
- 
-iterator insert(iterator i, const T &val = T()); 
- 
-Вставляет значение val непосредственно перед элементом,​ заданным параметром i, возвращает итератор для этого элемента. 
- 
- 
--------------------------------------------------------------------------------- 
- 
-void insert(iterator i, size_type num, const T &val); 
- 
-Вставляет num копий значения val непосредственно перед элементом,​ заданным параметром i. 
- 
- 
--------------------------------------------------------------------------------- 
- 
-template <class InIter> void insert(iterator i, InIter start, InIter end); 
- 
-Вставляет в вектор последовательность,​ определяемую параметрами start и end, непосредственно перед элементом,​ заданным параметром i. 
- 
- 
--------------------------------------------------------------------------------- 
- 
-size_type max_size() const; 
- 
-Возвращает максимальное число элементов,​ которое может содержать вектор. 
- 
- 
--------------------------------------------------------------------------------- 
- 
-reference operator[](size_type i) const; 
- 
-const_reference operator[](size_type i) const; 
- 
-Возвращает ссылку на элемент,​ заданный параметром i. 
- 
- 
--------------------------------------------------------------------------------- 
- 
-void pop_back(); 
- 
-Удаляет последний элемент в векторе. 
- 
- 
--------------------------------------------------------------------------------- 
- 
-void push_back(const T &val); 
- 
-Добавлчет в конец вектора элемент со значением,​ заданным параметром val. 
- 
- 
--------------------------------------------------------------------------------- 
- 
-reverse_iterator rbegin(); 
- 
-const_reverse_iterator rbegin() const; 
- 
-Возвращает реверсивный итератор для конца вектора. 
- 
- 
--------------------------------------------------------------------------------- 
- 
-reverse_iterator rend(); 
- 
-const_reverse_iterator rend() const; 
- 
-Возвращает реверсивный итератор для начала вектора. 
- 
- 
--------------------------------------------------------------------------------- 
- 
-void reverse(size_type num); 
- 
-Устанавливает емкость вектора равной не менее заданного значения num 
- 
- 
--------------------------------------------------------------------------------- 
- 
-void resize(size_type num, const T &val = T()); 
- 
-Устанавливает емкость вектора равной не менее заданного значения num, если вектор для этого нужно удлинить,​ то в его конец добавляются элементы со значением,​ заданным параметром val. 
- 
- 
--------------------------------------------------------------------------------- 
- 
-size_type size() const; 
-Возвращает текущее количество элементов в векторе. 
- 
-void swap(deque<​T,​Allocator>​ &ob); 
-Выполняет обмен элементами данного вектора и вектора ob. 
- 
- 
-void flip(); 
-Инвертирует значения всех битов в векторе. 
- 
-static void swap(reference i, reference j); 
- 
-Переставляет местами биты, заданные параметрами i и j. 
- 
-</​file>​ 
klass_vector.1299436742.txt.gz · Последние изменения: 2011/03/06 13:39 — 127.0.0.1