Sintassi:
#include <map> iterator insert( iterator pos, const T& pair ); void insert( input_iterator start, input_iterator end ); pair<iterator,bool> insert( const T& pair );
La funzione insert() ha tre forme
set e map sono ordinati). In questa veste la funzione ritorna un iteratore all'elemento inserito.start e endpair<key,val>, ma solo se nessun elemento con la chiave key è già esistente. Il valore ritornato è un iteratore all'elemento inserito (o una coppia avente come chiave key) e un booleano che è vero se l'operazione di inserimento ha avuto successo.
Il codice seguente usa la funzione insert (insieme a make_pair)) per aggiungere dati ad una mappa e quindi ne mostra i contenuti:
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; }
L'output prodotto dal programma è:
Key: 'Another key!', Value: 32 Key: 'Key 1', Value: -1 Key: 'Key the Three', Value: 66667
Notate che, siccome le mappe sono contenitori ordinati, l'output è ordinato dal valore della chiave. In questo caso, siccome il valore della chiave è una stringa, la mappa viene ordinata alfabeticamente.
Argomenti correlati: operatore []