Пространства имён
Варианты
Действия

Концепции C++: SequenceContainer

Материал из cppreference.com
< cpp‎ | concept

 
 
 
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.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
ilstd::initializer_list<T>
args
Параметр пакета
Оригинал:
Parameter pack
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
p, q
const_iterators в a
Оригинал:
const_iterators in a
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.


expressionreturn typeeffectspreconditionpostcondition
X(n,t)Constructs a SequenceContainer containing n copies of t T CopyInsertablestd::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 = ilX&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)iteratorInserts n copies of t before i T CopyInsertable and CopyAssignable
a.insert(p,i,j)iteratorInserts copies of elements in [i, j) before pEach iterator in [i,j) is dereferenced once
a.insert(p, il)iteratora.insert(p,il.begin(),il.end())
a.erase(q)iteratorErases the element pointed to by q (std::stack, std::vector) T MoveAssignable
a.erase(p,q)iteratorErases elements in [p,q)(std::stack, std::vector) T MoveAssignable
a.clear()voidDestroys all elements in a
  • Все ссылки становятся недействительными
    Оригинал:
    All references are invalidated
    Текст был переведён автоматически используя Переводчик Google.
    Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
  • a.empty()==true
a.assign(i,j)voidReplaces elements in a with a copy of [i, j)Each iterator in [i,j) is dereferenced once
a.assign(il)voida.assign(il.begin(),il.end())
a.assign(n,t)void Replaces elements in a with n copies of tT CopyInsertable and CopyAssignable

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

[править]SequenceContainers в стандартной библиотеке

(начиная с C++11)
статический непрерывный массив
(шаблон класса)[править]
динамический непрерывный массив
(шаблон класса)[править]
двусторонняя очередь
(шаблон класса)[править]
(начиная с C++11)
односвязный список
(шаблон класса)[править]
двусвязный список
(шаблон класса)[править]

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

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.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
close