Aracılığıyla paylaş


map::operator[]

Belirtilen anahtar değerine sahip bir harita bir öğe ekler.

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

Parametreler

Parametre

Description

_Key

Eklenecek öğenin anahtar değeri.

Dönüş Değeri

Eklenen öðe veri değerinin başvuru.

Notlar

Değişken anahtar değeri bulunamazsa, varsayılan değer veri türünün yanı sıra eklenir.

operator[]eşlemenin içine öğe eklemek için kullanılabilir m kullanarak m[_Key] = DataValue; burada DataValue değeri mapped_type öğesinin anahtar değeri olan _Key.

Kullanırken, operator[] öğeleri eklemek için verilen başvurunun ekleme varolan bir öğeyi değiştirmek veya yeni bir tane oluşturmadan olup olmadığını göstermez. Üye işlevler bulmak ve Ekle belirtilen bir anahtara sahip öğe zaten ekleme önce bulunup bulunmadığını belirlemek için kullanılır.

Örnek

// 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); 
}
  
  
  
  
  

Gereksinimler

Başlık: <map>

Namespace: std

Ayrıca bkz.

Başvuru

map Class

Standart Şablon Kütüphanesi