insert

Материал из cppreference.com
Перейти к: навигация, поиск

Синтаксис:

#include <map>
iterator insert( iterator pos, const T& pair );
void insert( input_iterator start, input_iterator end );
pair<iterator,bool> insert( const T& pair );

Есть три перегруженных метода insert для maps:

  1. вставка pair после элемента в позиции pos (где pos просто рекомендованное место для вставки pair), и возвращает указатель на вставленные данные.
  2. вставка диапазона элементов от start до end.
  3. вставка pair<key,val>, но только если нет данных с ключом key. Возвращаемое значение - итератор на вставленные данные (или существующую пару для данного key), и буленовский true, если данные были действительно вставлены.

Например, следующий код использует метод insert (совместно с stl/utility/make_pair) для вставки данных в map, и последующего отображения:

map<string,int> theMap;
theMap.insert( make_pair( "Key 1", -1 ) );
theMap.insert( make_pair( "Another key!", 32 ) );
theMap.insert( make_pair( "Key the Three", 66667 ) );
 
map<string,int>::iterator iter;
for( iter = theMap.begin(); iter != theMap.end(); ++iter ) {
  cout << "Key: '" << iter->first << "', Value: " << iter->second << endl;
}

После запуска, этот код отобразит следующее:

Key: 'Another key!', Value: 32
Key: 'Key 1', Value: -1
Key: 'Key the Three', Value: 66667

Так как map - это сортированный контейнер, данные будут отсортированы по значению ключа. Так как в данном случае ключом является string, map отсортирован по алфавиту.

Связанные темы: [] operator

Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Инструменты
На других языках