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:
- вставка pair после элемента в позиции pos (где pos просто рекомендованное место для вставки pair), и возвращает указатель на вставленные данные.
- вставка диапазона элементов от start до end.
- вставка 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