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

std::map::map

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

 
 
 
std::map
Функции-члены
map::map
map::~map
map::operator=
map::get_allocator
Элемент доступа
Оригинал:
Element access
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
map::at
map::operator[]
Итераторы
Оригинал:
Iterators
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
map::begin
map::cbegin

(C++11)
map::end
map::cend

(C++11)
map::rbegin
map::crbegin

(C++11)
map::rend
map::crend

(C++11)
Потенциала
Оригинал:
Capacity
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
map::empty
map::size
map::max_size
Модификаторы
map::clear
map::insert
map::emplace(C++11)
map::emplace_hint(C++11)
map::erase
map::swap
Поиск
Оригинал:
Lookup
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
map::count
map::find
map::equal_range
map::lower_bound
map::upper_bound
Наблюдатели
map::key_comp
map::value_comp
 
(1)
explicit map( const Compare& comp = Compare(),
              const Allocator& alloc = Allocator() );
(до C++14)
map() : map( Compare() ) {}

explicit map( const Compare& comp,

              const Allocator& alloc = Allocator() );
(начиная с C++14)
explicit map( const Allocator& alloc );
(1) (начиная с C++11)
(2)
template< class InputIterator >

map( InputIterator first, InputIterator last,
     const Compare& comp = Compare(),

     const Allocator& alloc = Allocator() );
template< class InputIterator >

map( InputIterator first, InputIterator last,

     const Allocator& alloc );
(начиная с C++14)
map( const map& other );
(3)
map( const map& other, const Allocator& alloc );
(3) (начиная с C++11)
map( map&& other );
(4) (начиная с C++11)
map( map&& other, const Allocator& alloc );
(4) (начиная с C++11)
(5)
map( std::initializer_list<value_type> init,

     const Compare& comp = Compare(),

     const Allocator& alloc = Allocator() );
(начиная с C++11)
map( std::initializer_list<value_type> init,
     const Allocator& );
(начиная с C++14)

Создаёт новый контейнер из разнообразных источников данных и (опционально) использует пользовательский аллокатор alloc или функцию для сравнения элементов comp.

1)
Конструктор по умолчанию. Создаёт пустой контейнер.
Оригинал:
default constructor. Constructs empty container.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
2)
Создаёт контейнер с содержимым из диапазона [first, last).
Оригинал:
constructs the container with the contents of the range [first, last).
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
3)
Конструктор копирования. Создает контейнер с копией содержимого other. Если alloc не был предоставлен, то вместо него будет использован результат вызова функции std::allocator_traits<allocator_type>::select_on_container_copy_construction(other.get_allocator()).
Оригинал:
copy constructor. Constructs the container with the copy of the contents of other. If alloc is not provided, allocator is obtained by calling std::allocator_traits<allocator_type>::select_on_copy_construction(other).
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
4)
Move-конструктор. Создает контейнер с содержимым other с использованием move-семантики. Если alloc не был предоставлен, то он будет получен с помощью move-конструктора от аллокатора принадлежащего other.
Оригинал:
move constructor. Constructs the container with the contents of other using move semantics. If alloc is not provided, allocator is obtained by move-construction from the allocator belonging to other.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
5)
Создает контейнер с содержимым списка инициализации init.
Оригинал:
constructs the container with the contents of the initializer list init.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Содержание

[править] Параметры

alloc -
аллокатор который будет использован для всех выделений памяти этого контейнера
Оригинал:
allocator to use for all memory allocations of this container
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
comp - функция для сравнения ключей контейнера
first, last -
диапазон из которого будут скопированы элементы
Оригинал:
the range to copy the elements from
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
other -
другой контейнер, который будет использован в качестве источника данных для инициализации элементов контейнера
Оригинал:
another container to be used as source to initialize the elements of the container with
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
init -
список инициализации элементов контейнера
Оригинал:
initializer list to initialize the elements of the container with
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Требования к типам
-
InputIt должен соответствовать требованиям InputIterator.

[править] Сложность

1)
Постоянная
Оригинал:
constant
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
2) N log(N), где N = std::distance(first, last) в целом, линейная относительно N если исходные данные были отсортированы относительно value_comp().
3)
Линейная относительно размера other
Оригинал:
linear in size of other
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
4)
Постоянная. Если alloc был предоставлен и alloc != other.get_allocator(), то линейная.
Оригинал:
constant. If alloc is given and alloc != other.get_allocator(), then linear.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
5) N log(N), где N = init.size()) в целом, линейная относительно N если init был отсортирован относительно value_comp().

[править] Замечания

После того, как контейнер был move-сконструирован (overload (4)), ссылки, указатели и итераторы (кроме end итератора) на other остаются корректными, но указывают уже на элементы которые находятся в *this. Общая концепция этого описана в §23.2.1[container.requirements.general]/12, более конкретно это рассмотрено в LWG 2321.

[править] Пример

[править] См. также

Задаёт значения в контейнере
(public функция-член) [править]