C ++ STL中的Emplace与Insert

插入操作避免了不必要的对象复制,并且比插入操作更有效地进行了插入。插入操作引用一个对象。

算法

Begin
   Declare set.
   Use emplace() to insert pair.
   Use insert() to insert pair by using emplace().
   Print the set.
End

范例程式码

#include<bits/stdc++.h>
using namespace std;
int main() {
   set<pair<int, char>> s;
   s.emplace(7, 'a');
   s.insert(make_pair(6, 'b'));
   for (auto it = s.begin(); it != s.end(); ++it)
      cout << " " << (*it).first << " " << (*it).second << endl;
   return 0;
}

输出结果

7 a
6 b