Computer >> Máy Tính >  >> Lập trình >> C ++

emplace vs insert trong C ++ STL

hoạt động emplace tránh sao chép đối tượng không cần thiết và thực hiện việc chèn hiệu quả hơn hoạt động chèn. Thao tác chèn có tham chiếu đến một đối tượng.

Thuật toán

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

Mã mẫu

#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;
}

Đầu ra

7 a
6 b