std::map::operator[]

mapped_type& operator[] (const key_type& k);

Access element
If k matches the key of an element in the container, the function returns a reference to its mapped value.

If k does not match the key of any element in the container, the function inserts a new element with that key and returns a reference to its mapped value. Notice that this always increases the container size by one, even if no mapped value is assigned to the element (the element is constructed using its default constructor).

A similar member function, map::at, has the same behavior when an element with the key exists, but throws an exception when it does not.

A call to this function is equivalent to:
(*((this->insert(make_pair(k,mapped_type()))).first)).second

Parameters

k
Key value of the element whose mapped value is accessed.
Member type key_type is the type of the keys for the elements stored in the container, defined in map as an alias of its first template parameter (Key).
If an rvalue (second version), the key is moved instead of copied when a new element is inserted.

Return value

A reference to the mapped value of the element with a key value equivalent to k.

Member type mapped_type is the type of the mapped values in the container, defined in map as an alias of its second template parameter (T).

Example

 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22  // accessing mapped values #include #include #include int main () { std::map mymap; mymap['a']="an element"; mymap['b']="another element"; mymap['c']=mymap['b']; std::cout << "mymap['a'] is " << mymap['a'] << '\n'; std::cout << "mymap['b'] is " << mymap['b'] << '\n'; std::cout << "mymap['c'] is " << mymap['c'] << '\n'; std::cout << "mymap['d'] is " << mymap['d'] << '\n'; std::cout << "mymap now contains " << mymap.size() << " elements.\n"; return 0; }

让std::map::operator[]变聪明

2010-07-31 03:48:00

STL中map的operator[ ]使用方法

2016-07-26 08:27:15

std::map 自定义类做为key时 find operator< 的正确写法

2017-05-18 20:36:00

当效率至关重要时map::operator[]与map.insert之间的选择

2016-08-02 11:32:25

Expression:invalid operator<断言

2014-02-17 12:28:55

自定义std::sort的比较函数时发生"invalid operator<"错误原因

2013-04-21 15:03:56

Python 运算符模块operator库

2016-05-21 23:05:15

Anuglar中正确导入RxJS库

2018-03-01 21:09:48

慎用C++ std::map 的[]运算符

2008-09-18 13:48:00

Map operator initialization failed at org.apache.hadoop.hive.ql.exec.tez.TezProcessor

2017-08-10 15:12:59