在C++ STL中的multimap::operator=
multimap::operator=用于通过替换现有内容来分配新内容到容器中。它也根据新的内容修改大小。
语法:-
multimap1 = (multimap2)
参数:
同类型的另一个容器。
结果:
将传递为参数的容器的内容分配给写在操作符左侧的容器。
示例:
Input : multimap1 = { ('a', 1), ('b', 2), ('c', 3)}
multimap2 = { ('d', 4), ('e', 5), ('f', 6)}
multimap1 = multimap2;
Output : multimap1
d 4
e 5
f 6
Input : multimap1 = { ('abc', 1), ('bca', 2), ('cab', 3)}
multimap2 = { ('def', 4), ('efd', 5), ('fde', 6)}
multimap1 = multimap2;
Output : multimap1
def 4
efd 5
fde 6
错误和例外情况:1.如果容器类型不同,则会抛出错误。 2.它具有基本的无异常抛出保证。
// CPP Program to illustrate working of
// multimap::operator=
#include <iostream>
#include <map>
using namespace std;
int main()
{
// initialise multimap
multimap<char, int> m1;
multimap<char, int> m2;
// iterator for iterate all element of multimap
multimap<char, int>::iterator iter;
// multimap1 data
m1.insert(make_pair('a', 1));
m1.insert(make_pair('b', 2));
m1.insert(make_pair('c', 3));
// multimap2 data
m2.insert(make_pair('d', 4));
m2.insert(make_pair('e', 5));
m2.insert(make_pair('f', 6));
// operator=
m1 = m2;
// multimap1 data
cout << "MultiMap 1 data" << "\n";
for (iter = m1.begin(); iter != m1.end(); iter++)
cout << (*iter).first << " " << (*iter).second << "\n";
}
输出:-
MultiMap 1 data
d 4
e 5
f 6
时间复杂度 : O(N)