Traduzioni di questa pagina?:

Costruttori e Distruttori

Sintassi:

    #include <map>
    map();
    map( const map& m );
    map( input_iterator start, input_iterator end );
    map( input_iterator start, input_iterator end, const key_compare& cmp );
    explicit map( const key_compare& cmp );
    ~map();

Il costruttore di default non ha argomenti, crea una nuova istanza della mappa e gira a tempo costante. Il copy constructor invece gira a tempo lineare e può essere usato per creare una nuova mappa che è una copia della mappa m passata come argomento.

Potete anche creare una mappa che conterrà una copia degli elementi compresi tra start ed end o specificicare una funzione cmp che verrà usata nelle operazioni di confronto.

Il costruttore di default viene invece chiamato quando l'istanza della mappa viene eliminata.

Per esempio il codice che segue crea una mappa che associa una stringa con un intero:

    struct strCmp {
      bool operator()( const char* s1, const char* s2 ) const {
        return strcmp( s1, s2 ) < 0;
      }
    };
 
    ...
 
    const char *father = "Homer";
    const char *mother = "Marge";
    const char *kid1 = "Lisa";
    const char *kid2 = "Maggie";
    const char *kid3 = "Bart";
    map<const char*, int, strCmp> ages;
    ages[father] = 38;
    ages[mother] = 37;
    ages[kid1] = 8;
    ages[kid2] = 1;
    ages[kid3] = 11;
 
    cout << "Bart is " << ages[kid3] << " years old" << endl;

Argomenti correlati: map_Operators