std::map::map
|
|
Эта страница была переведена автоматически с английской версии вики используя Переводчик Google. Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Щёлкните здесь, чтобы увидеть английскую версию этой страницы. (Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке.) |
<metanoindex/>
<tbody> </tbody> <tbody class="t-dcl-rev t-dcl-rev-num "> </tbody><tbody> </tbody> <tbody class="t-dcl-rev t-dcl-rev-num "> </tbody><tbody> </tbody> <tbody class="t-dcl-rev t-dcl-rev-num "> </tbody><tbody> </tbody>| (1) | ||
explicit map( const Compare& comp = Compare(), {{#pad:|12}} const Allocator& alloc = Allocator() ); |
(до C++14) | |
map() : map( Compare() ) {} explicit map( const Compare& comp, {{#pad:|12}} const Allocator& alloc = Allocator() ); |
(начиная с C++14) | |
explicit map( const Allocator& alloc ); |
(1) | (начиная с C++11) |
| (2) | ||
template< class InputIterator > map( InputIterator first, InputIterator last, {{#pad:|3}} const Compare& comp = Compare(), {{#pad:|3}} const Allocator& alloc = Allocator() ); |
||
template< class InputIterator > map( InputIterator first, InputIterator last, {{#pad:|3}} 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, {{#pad:|3}} const Compare& comp = Compare(), {{#pad:|3}} const Allocator& alloc = Allocator() ); |
(начиная с C++11) | |
map( std::initializer_list<value_type> init, {{#pad:|3}} const Allocator& ); |
(начиная с C++14) | |
Создаёт новый контейнер из разнообразных источников данных и (опционально) использует пользовательский аллокатор alloc или функцию для сравнения элементов comp.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
[first, last).[first, last).Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
other. Если alloc не был предоставлен, то вместо него будет использован результат вызова функции std::allocator_traits<allocator_type>::select_on_container_copy_construction(other.get_allocator()).other. If alloc is not provided, allocator is obtained by calling std::allocator_traits<allocator_type>::select_on_copy_construction(other).Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
other с использованием move-семантики. Если alloc не был предоставлен, то он будет получен с помощью move-конструктора от аллокатора принадлежащего other.other using move semantics. If alloc is not provided, allocator is obtained by move-construction from the allocator belonging to other.Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
init. init. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Параметры
| 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.
| ||
Сложность
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
N = std::distance(first, last) в целом, линейная относительно N если исходные данные были отсортированы относительно value_comp().otherotherВы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
alloc был предоставлен и alloc != other.get_allocator(), то линейная.alloc is given and alloc != other.get_allocator(), then linear.Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
N = init.size()) в целом, линейная относительно N если init был отсортирован относительно value_comp().Замечания
После создания перемещением контейнера (перегрузка (4)), ссылки, указатели и итераторы (кроме конечного итератора) на other остаются действительными, но ссылаются на элементы которые сейчас находятся в *this. Текущий стандарт делает эту гарантию с помощью общего заявления в [container.reqmts]/67, и более прямая гарантия находится на рассмотрении через LWG проблема 2321.
Пример
| Этот раздел не завершён Причина: нет примера |
См. также
| присваивает значения контейнеру (public функция-элемент) |