Traduzioni di questa pagina?:

insert

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

  • inserisce pair dopo l'elemento alla locazione pos (dove pos è in verità solo un suggerimento su dove la coppia pair dovrebbe andare, dato che set e map sono ordinati). In questa veste la funzione ritorna un iteratore all'elemento inserito.
  • inserisce l'intervallo di elementi descritti da start e end
  • inserisce pair<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 []