Udostępnij za pośrednictwem


map::operator

Wstawia element do mapy określonej wartości klucza.

Type& operator[](
   const Key& _Key
);
Type& operator0-(
    Key&& _Key
);

Parametry

Parametr

Opis

_Key

Wartość klucza element, który ma być wstawiony.

Wartość zwracana

Odwołanie do wartości danych wstawionego elementu.

Uwagi

Jeśli argument wartość klucza nie zostanie znaleziony, po wstawieniu oraz wartość domyślnego typu danych.

operator[]może służyć do wstawienia elementów do mapy m za pomocą m[_Key] = DataValue; gdzie DataValue jest wartością mapped_type elementu z wartość klucza _Key.

Podczas korzystania z operator[] do wstawienia elementów, zwracane odwołanie nie wskazuje czy wstawiania jest zmiana istniejącego elementu lub utworzenie nowego.Funkcje składowe znaleźć i wstawić można określić, czy element z określonego klucza jest już obecny przed wstawieniem.

Przykład

// map_op_insert.cpp
// compile with: /EHsc
#include <map>
#include <iostream>
#include <string>

int main( )
{
   using namespace std;
   typedef pair <const int, int> cInt2Int;
   map <int, int> m1;
   map <int, int> :: iterator pIter;
   
   // Insert a data value of 10 with a key of 1
   // into a map using the operator[] member function
   m1[ 1 ] = 10;

   // Compare other ways to insert objects into a map
   m1.insert ( map <int, int> :: value_type ( 2, 20 ) );
   m1.insert ( cInt2Int ( 3, 30 ) );

   cout  << "The keys of the mapped elements are:";
   for ( pIter = m1.begin( ) ; pIter != m1.end( ) ; pIter++ )
      cout << " " << pIter -> first;
   cout << "." << endl;

   cout  << "The values of the mapped elements are:";
   for ( pIter = m1.begin( ) ; pIter != m1.end( ) ; pIter++ )
      cout << " " << pIter -> second;
   cout << "." << endl;

   // If the key already exists, operator[]
   // changes the value of the datum in the element
   m1[ 2 ] = 40;

   // operator[] will also insert the value of the data
   // type's default constructor if the value is unspecified
   m1[5];

   cout  << "The keys of the mapped elements are now:";
   for ( pIter = m1.begin( ) ; pIter != m1.end( ) ; pIter++ )
      cout << " " << pIter -> first;
   cout << "." << endl;

   cout  << "The values of the mapped elements are now:";
   for ( pIter = m1.begin( ) ; pIter != m1.end( ) ; pIter++ )
      cout << " " << pIter -> second;
   cout << "." << endl;

// insert by moving key
    map<string, int> c2;
    string str("abc");
    cout << "c2[move(str)] == " << c2[move(str)] << endl;
    cout << "c2["abc"] == " << c2["abc"] << endl;

    return (0); 
}
  
  
  
  
  

Wymagania

Nagłówek: <map>

Obszar nazw: std

Zobacz też

Informacje

map Class

Standardowa biblioteka szablonu