C++ 集合庫 - emplace 函式



描述

它在集合中插入一個新元素。

宣告

以下是 std::set::emplace 在不同 C++ 版本中的工作方式。

C++98

template <class... Args>
  pair<iterator,bool> emplace (Args&&... args);

C++11

template <class... Args>
  pair<iterator,bool> emplace (Args&&... args);

返回值

它返回一個指向新插入元素的迭代器和一個值為 true 的 pair。

異常

如果丟擲異常,容器不會發生任何更改。

時間複雜度

取決於容器大小。

示例

以下示例演示了 std::set::emplace 的用法。

#include <iostream>
#include <set>
#include <string>

int main () {
   std::set<std::string> myset;

   myset.emplace("foo");
   myset.emplace("bar");
   auto ret = myset.emplace("bar");

   if (!ret.second) std::cout << "bar already exists in myset\n";

   return 0;
}

以上程式將編譯並正確執行。

bar already exists in myset
set.htm
廣告
© . All rights reserved.