Анализ и использование класса vector. Библиотека vector.
Класс vector поддерживает динамический массив и счетчик элементов, сохраненных в нем. Спецификация его шаблона имеет следующий вид:
Здесь T - тип сохраняемых данных, а Allocator задает распределитель. Класс vector имеет следующие конструкторы:
Первая форма конструктора создает пустой вектор. Вторая создает вектор, который создает num элементов со значением val. Третья создает вектор, который содержит те же элементы, что и вектор ob. Четвертая создает вектор, который содержит элементы в диапазоне, заданном параметрами start и end. Для класса vector определены следующие операторы сравнения:
Класс vector содержит следующие функции-члены: 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.
©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.
|