◐ Shell
clean mode source ↗

Концепции C++: SequenceContainer — cppreference.com

Материал из cppreference.com

<metanoindex/>

SequenceContainer является Container который хранит объекты того же типа в линейном расположении.

Оригинал:

A SequenceContainer is a Container that stores objects of the same type in a linear arrangement.

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Требования

Legend

Оригинал:

Legend

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

X

Тип контейнера

Оригинал:

Container type

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

T

Тип элемента

Оригинал:

Element type

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

a, b

Объекты типа X

Оригинал:

Objects of type X

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

t

Объект типа T

Оригинал:

Object of type T

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

n

Положительное целое число

Оригинал:

Positive integer

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

i, j

InputIterators обозначающих допустимый диапазон

Оригинал:

InputIterators denoting a valid range

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

il std::initializer_list<T>
args

Параметр пакета

Оригинал:

Parameter pack

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

p, q

const_iterators в a

Оригинал:

const_iterators in a

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

expression return type effects precondition postcondition
X(n,t) Constructs a SequenceContainer containing n copies of t T CopyInsertable std::distance(begin(),end()) == n
X(i,j) Constructs a SequenceContainer equivalent to the range [i,j) std::distance(begin(),end()) == std::distance(i,j)
X(il) X(il.begin(),il.end)
a = il X& Assigns the range represented by il into a T CopyInsertable and CopyAssignable Existing elements of a are destroyed or assigned to
a.emplace(p,args) iterator Insert an object constructed with std::forward<Args>(args) before p
a.emplace(p,t) iterator Inserts a copy of t before i
a.insert(p,n,t) iterator Inserts n copies of t before i T CopyInsertable and CopyAssignable
a.insert(p,i,j) iterator Inserts copies of elements in [i, j) before p Each iterator in [i,j) is dereferenced once
a.insert(p, il) iterator a.insert(p,il.begin(),il.end())
a.erase(q) iterator Erases the element pointed to by q (std::stack, std::vector) T MoveAssignable
a.erase(p,q) iterator Erases elements in [p,q) (std::stack, std::vector) T MoveAssignable
a.clear() void Destroys all elements in a
  • Все ссылки становятся недействительными

    Оригинал:

    All references are invalidated

    Текст был переведён автоматически используя Переводчик Google.
    Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

  • a.empty() == true
a.assign(i,j) void Replaces elements in a with a copy of [i, j) Each iterator in [i,j) is dereferenced once
a.assign(il) void a.assign(il.begin(),il.end())
a.assign(n,t) void Replaces elements in a with n copies of t T CopyInsertable and CopyAssignable

Дополнительные операции

SequenceContainers в стандартной библиотеке

Компромиссы / использование заметок

std::array

Быстрый доступ, но фиксированное число элементов

Оригинал:

Fast access but fixed number of elements

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

std::vector

Быстрый доступ, но в основном неэффективной вставок / удалений

Оригинал:

Fast access but mostly inefficient insertions/deletions

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

std::list
std::forward_list

Эффективное вставки / удаления в середине последовательности

Оригинал:

Efficient insertion/deletion in the middle of the sequence

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

std::deque

Эффективное вставки / удаления в начале и в конце последовательности

Оригинал:

Efficient insertion/deletion at the beginning and at the end of the sequence

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.