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

Containers library

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

Библиотека контейнеров является универсальной коллекции шаблонов классов и алгоритмы, которые позволяют программистам легко реализовать общие структуры данных, такие как очереди, списки и стеки. Есть три класса контейнеры - контейнеры последовательности, ассоциативные контейнеры, и неупорядоченные ассоциативных контейнеров - каждый из которых предназначен для поддержки различных наборов операций.
Original:
The Containers library is a generic collection of class templates and algorithms that allow programmers to easily implement common data structures like queues, lists and stacks. There are three classes of containers -- sequence containers, associative containers, and unordered associative containers -- each of which is designed to support a different set of operations.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Контейнер управляет памяти, выделяемой для его элементов и обеспечивает функции-члены к ним доступ, либо непосредственно, либо через итераторы (объекты со схожими свойствами указатели).
Original:
The container manages the storage space that is allocated for its elements and provides member functions to access them, either directly or through iterators (objects with similar properties to pointers).
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Большинство контейнеров по крайней мере несколько функций-членов в общем, и доля функциональности. Какой контейнер является лучшим для конкретного применения зависит не только от предлагаемой функциональности, но и на его эффективность для различных рабочих нагрузок.
Original:
Most containers have at least several member functions in common, and share functionalities. Which container is the best for the particular application depends not only on the offered functionality, but also on its efficiency for different workloads.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Содержание

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

Контейнеров последовательности реализации структур данных, которые могут быть доступны последовательно.
Original:
Sequence containers implement data structures which can be accessed sequentially.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
(начиная с C++11)
статического непрерывный массив
Original:
static contiguous array
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(шаблон класса) [edit]
динамический непрерывный массив
Original:
dynamic contiguous array
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(шаблон класса) [edit]
Двусторонний очереди
Original:
double-ended queue
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(шаблон класса) [edit]
(начиная с C++11)
односвязный список
Original:
singly-linked list
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(шаблон класса) [edit]
дважды связанный список
Original:
doubly-linked list
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(шаблон класса) [edit]

[править] Ассоциативные контейнеры

Ассоциативные контейнеры реализации упорядоченные структуры данных, которые можно быстро производить поиск (O(log n) сложности).
Original:
Associative containers implement sorted data structures that can be quickly searched (O(log n) complexity).
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Коллекция уникальных ключей, отсортированных по клавишам
Original:
collection of unique keys, sorted by keys
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(шаблон класса) [edit]
Коллекция пар ключ-значение, отсортированные по ключи, ключи являются уникальными
Original:
collection of key-value pairs, sorted by keys, keys are unique
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(шаблон класса) [edit]
collection of keys, sorted by keys
(шаблон класса) [edit]
Коллекция пар ключ-значение, отсортированные по клавишам
Original:
collection of key-value pairs, sorted by keys
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(шаблон класса) [edit]

[править] Неупорядоченный ассоциативных контейнеров

Ассоциативные контейнеры реализации несортированный (хешированном) структур данных, которые можно быстро производить поиск (O(1) амортизируется, O(n) худшем случае сложность).
Original:
Associative containers implement unsorted (hashed) data structures that can be quickly searched (O(1) amortized, O(n) worst-case complexity).
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
(начиная с C++11)
Коллекция уникальных ключей, хэш-ключами
Original:
collection of unique keys, hashed by keys
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(шаблон класса) [edit]
(начиная с C++11)
Коллекция пар ключ-значение, хэширован ключи, ключи являются уникальными
Original:
collection of key-value pairs, hashed by keys, keys are unique
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(шаблон класса) [edit]
(начиная с C++11)
Коллекция ключей, хэш-ключами
Original:
collection of keys, hashed by keys
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(шаблон класса) [edit]
(начиная с C++11)
Коллекция пар ключ-значение, хешируется по клавишам
Original:
collection of key-value pairs, hashed by keys
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(шаблон класса) [edit]

[править] Контейнер адаптеров

Контейнер адаптеры обеспечивают различные интерфейсы для последовательных контейнеров.
Original:
Container adaptors provide a different interface for sequential containers.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
адаптируется контейнеров обеспечить стек (LIFO структуры данных)
Original:
adapts a container to provide stack (LIFO data structure)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(шаблон класса) [edit]
адаптируется контейнера обеспечивают очереди (FIFO структуры данных)
Original:
adapts a container to provide queue (FIFO data structure)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(шаблон класса) [edit]
адаптируется контейнеров обеспечить приоритет очереди
Original:
adapts a container to provide priority queue
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(шаблон класса) [edit]

[править] Таблица член функции

- functions present in C++03
- functions present since C++11
Sequence containers Associative containers Unordered associative containers Container adaptors
Headers <array> <vector> <deque> <forward_list> <list> <set> <map> <unordered_set> <unordered_map> <stack> <queue>
 
array
vector
deque
forward_list
list
set
multiset
map
multimap
unordered_set
unordered_multiset
unordered_map
unordered_multimap
stack
queue
priority_queue
(constructor)
(implicit)
vector
deque
forward_list
list
set
multiset
map
multimap
unordered_set
unordered_multiset
unordered_map
unordered_multimap
stack
queue
priority_queue
(destructor)
(implicit)
~vector
~deque
~forward_list
~list
~set
~multiset
~map
~multimap
~unordered_set
~unordered_multiset
~unordered_map
~unordered_multimap
~stack
~queue
~priority_queue
operator=
(implicit)
operator=
operator=
operator=
operator=
operator=
operator=
operator=
operator=
operator=
operator=
operator=
operator=
operator=
operator=
operator=
assign
N/A
assign
assign
assign
assign
N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A
Iterators
begin
cbegin
begin
cbegin
begin
cbegin
begin
cbegin
begin
cbegin
begin
cbegin
begin
cbegin
begin
cbegin
begin
cbegin
begin
cbegin
begin
cbegin
begin
cbegin
begin
cbegin
begin
cbegin
N/A N/A N/A
end
cend
end
cend
end
cend
end
cend
end
cend
end
cend
end
cend
end
cend
end
cend
end
cend
end
cend
end
cend
end
cend
end
cend
N/A N/A N/A
rbegin
crbegin
rbegin
crbegin
rbegin
crbegin
rbegin
crbegin
N/A
rbegin
crbegin
rbegin
crbegin
rbegin
crbegin
rbegin
crbegin
rbegin
crbegin
N/A N/A N/A N/A N/A N/A N/A
rend
crend
rend
crend
rend
crend
rend
crend
N/A
rend
crend
rend
crend
rend
crend
rend
crend
rend
crend
N/A N/A N/A N/A N/A N/A N/A
Element
access
at
at
at
at
N/A N/A N/A N/A
at
N/A N/A N/A
at
N/A N/A N/A N/A
operator[]
operator[]
operator[]
operator[]
N/A N/A N/A N/A
operator[]
N/A N/A N/A
operator[]
N/A N/A N/A N/A
front
front
front
front
front
front
N/A N/A N/A N/A N/A N/A N/A N/A N/A
front
top
back
back
back
back
N/A
back
N/A N/A N/A N/A N/A N/A N/A N/A
top
back
N/A
Capacity
empty
empty
empty
empty
empty
empty
empty
empty
empty
empty
empty
empty
empty
empty
empty
empty
empty
size
size
size
size
N/A
size
size
size
size
size
size
size
size
size
size
size
size
max_size
max_size
max_size
max_size
max_size
max_size
max_size
max_size
max_size
max_size
max_size
max_size
max_size
max_size
N/A N/A N/A
resize
N/A
resize
resize
resize
resize
N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A
capacity
N/A
capacity
N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A
reserve
N/A
reserve
N/A N/A N/A N/A N/A N/A N/A
reserve
reserve
reserve
reserve
N/A N/A N/A
shrink_to_fit
N/A
shrink_to_fit
shrink_to_fit
N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A
Modifiers
clear
N/A
clear
clear
clear
clear
clear
clear
clear
clear
clear
clear
clear
clear
N/A N/A N/A
insert
N/A
insert
insert
insert_after
insert
insert
insert
insert
insert
insert
insert
insert
insert
N/A N/A N/A
emplace
N/A
emplace
emplace
emplace_after
emplace
emplace
emplace
emplace
emplace
emplace
emplace
emplace
emplace
N/A N/A N/A
emplace_hint
N/A N/A N/A N/A N/A
emplace_hint
emplace_hint
emplace_hint
emplace_hint
emplace_hint
emplace_hint
emplace_hint
emplace_hint
N/A N/A N/A
erase
N/A
erase
erase
erase_after
erase
erase
erase
erase
erase
erase
erase
erase
erase
N/A N/A N/A
push_front
N/A N/A
push_front
push_front
push_front
N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A
emplace_front
N/A N/A
emplace_front
emplace_front
emplace_front
N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A
pop_front
N/A N/A
pop_front
pop_front
pop_front
N/A N/A N/A N/A N/A N/A N/A N/A N/A
pop
N/A
push_back
N/A
push_back
push_back
N/A
push_back
N/A N/A N/A N/A N/A N/A N/A N/A
push
push
push
emplace_back
N/A
emplace_back
emplace_back
N/A
emplace_back
N/A N/A N/A N/A N/A N/A N/A N/A
emplace
emplace
emplace
pop_back
N/A
pop_back
pop_back
N/A
pop_back
N/A N/A N/A N/A N/A N/A N/A N/A
pop
N/A
pop
swap
swap
swap
swap
swap
swap
swap
swap
swap
swap
swap
swap
swap
swap
swap
swap
swap
List operations
merge
N/A N/A N/A N/A
merge
N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A
splice
N/A N/A N/A N/A
splice
N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A
remove
N/A N/A N/A N/A
remove
N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A
remove_if
N/A N/A N/A N/A
remove_if
N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A
reverse
N/A N/A N/A N/A
reverse
N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A
unique
N/A N/A N/A N/A
unique
N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A
sort
N/A N/A N/A N/A
sort
N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A
Lookup
count
N/A N/A N/A N/A N/A
count
count
count
count
count
count
count
count
N/A N/A N/A
find
N/A N/A N/A N/A N/A
find
find
find
find
find
find
find
find
N/A N/A N/A
lower_bound
N/A N/A N/A N/A N/A
lower_bound
lower_bound
lower_bound
lower_bound
N/A N/A N/A N/A N/A N/A N/A
upper_bound
N/A N/A N/A N/A N/A
upper_bound
upper_bound
upper_bound
upper_bound
N/A N/A N/A N/A N/A N/A N/A
equal_range
N/A N/A N/A N/A N/A
equal_range
equal_range
equal_range
equal_range
equal_range
equal_range
equal_range
equal_range
N/A N/A N/A
Observers
key_comp
N/A N/A N/A N/A N/A
key_comp
key_comp
key_comp
key_comp
N/A N/A N/A N/A N/A N/A N/A
value_comp
N/A N/A N/A N/A N/A
value_comp
value_comp
value_comp
value_comp
N/A N/A N/A N/A N/A N/A N/A
hash_function
N/A N/A N/A N/A N/A N/A N/A N/A N/A
hash_function
hash_function
hash_function
hash_function
N/A N/A N/A
key_eq
N/A N/A N/A N/A N/A N/A N/A N/A N/A
key_eq
key_eq
key_eq
key_eq
N/A N/A N/A
Allocator
get_allocator
N/A
get_allocator
get_allocator
get_allocator
get_allocator
get_allocator
get_allocator
get_allocator
get_allocator
get_allocator
get_allocator
get_allocator
get_allocator
N/A N/A N/A
 
array
vector
deque
forward_list
list
set
multiset
map
multimap
unordered_set
unordered_multiset
unordered_map
unordered_multimap
stack
queue
priority_queue
Sequence containers Associative containers Unordered associative containers Container adaptors