multimap::insert (STL/CLR)
Добавляет элементы.
iterator insert(value_type val);
iterator insert(iterator where, value_type val);
template<typename InIter>
void insert(InIter first, InIter last);
void insert(System::Collections::Generic::IEnumerable<value_type>^ right);
Параметры
first
Начало диапазона, который необходимо вставить.last
Элемент диапазона, который необходимо вставить.правый
Перечисление, который необходимо вставить.val
Значение ключа, который необходимо вставить., где
, Где в контейнере вставки (подсказка только).
Заметки
Каждый из функции-члены содержит определенную последовательность оставшимися операндами.
Первый функцию-член вставляет элемент со значением val и возвращает итератор, обозначает вновь добавленного элемента. Он используется для вставки одного элемента.
Второй функцию-член вставляет элемент со значением val, с помощью where как подсказка (повысить производительность) и возвращает итератор, обозначает вновь добавленного элемента. Он используется для вставки один элемент, который может быть рядом с элементом известно.
Третий функцию-член вставляет последовательность [first, last). Он используется для вставки ноль или более элементов скопированных из другой последовательности.
Четвертый функцию-член вставляет последовательность обозначенную right. Он используется для вставки последовательность описанную перечислителем.
Каждая вставка элемента требует времени, пропорциональное логарифму числа элементов в контролируемой последовательности. Вставка может произойти в амортизированном постоянно времени, заданную подсказку, которая обозначает элемент рядом с точкой вставки.
Пример
// cliext_multimap_insert.cpp
// compile with: /clr
#include <cliext/map>
typedef cliext::multimap<wchar_t, int> Mymultimap;
int main()
{
Mymultimap c1;
c1.insert(Mymultimap::make_value(L'a', 1));
c1.insert(Mymultimap::make_value(L'b', 2));
c1.insert(Mymultimap::make_value(L'c', 3));
// display contents " [a 1] [b 2] [c 3]"
for each (Mymultimap::value_type elem in c1)
System::Console::Write(" [{0} {1}]", elem->first, elem->second);
System::Console::WriteLine();
// insert a single value, unique and duplicate
Mymultimap::iterator it =
c1.insert(Mymultimap::make_value(L'x', 24));
System::Console::WriteLine("insert([L'x' 24]) = [{0} {1}]",
it->first, it->second);
it = c1.insert(Mymultimap::make_value(L'b', 2));
System::Console::WriteLine("insert([L'b' 2]) = [{0} {1}]",
it->first, it->second);
for each (Mymultimap::value_type elem in c1)
System::Console::Write(" [{0} {1}]", elem->first, elem->second);
System::Console::WriteLine();
// insert a single value with hint
it = c1.insert(c1.begin(), Mymultimap::make_value(L'y', 25));
System::Console::WriteLine("insert(begin(), [L'y' 25]) = [{0} {1}]",
it->first, it->second);
for each (Mymultimap::value_type elem in c1)
System::Console::Write(" [{0} {1}]", elem->first, elem->second);
System::Console::WriteLine();
// insert an iterator range
Mymultimap c2;
it = c1.end();
c2.insert(c1.begin(), --it);
for each (Mymultimap::value_type elem in c2)
System::Console::Write(" [{0} {1}]", elem->first, elem->second);
System::Console::WriteLine();
// insert an enumeration
Mymultimap c3;
c3.insert( // NOTE: cast is not needed
(System::Collections::Generic::
IEnumerable<Mymultimap::value_type>^)%c1);
for each (Mymultimap::value_type elem in c3)
System::Console::Write(" [{0} {1}]", elem->first, elem->second);
System::Console::WriteLine();
return (0);
}
Требования
Заголовок:<cliext/map>
Пространство имен: cliext