对于unordered_map,插入时有几种选择:
通过insert,或者[]运算符,或者emplace,其中emplace是效率最高的:
#include <iostream>
#include <unordered_map>
using namespace std;
class A{
public:
A(int i=0)
{
cout<<"A construct, this:"<<this<<endl;
}
A(const A &a)
{
cout<<"A copy construct, this:"<<this<<" ori:"<<&a<<endl;
}
~A()
{
cout<<"A deconstruct, this:"<<this<<endl;
}
A& operator=(const A& a)
{
cout<<"A =, this:"<<this<<" ori:"<<&a<<endl;
return *this;
}
};
int main()
{
unordered_map<int, A> m_map;
cout<<"use insert"<<endl;
m_map.insert(pair<int, A>(1, 1));
cout<<"u