目录

emplace

描述 (Description)

如果其值是唯一的,它会在unordered_set中插入一个新元素。 使用args作为元素构造函数的参数来构造这个新元素。

声明 (Declaration)

以下是std :: unordered_set :: emplace的声明。

C++11

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

参数 (Parameters)

args - 这些参数传递给构造函数。

返回值

如果函数成功插入元素,则返回(因为没有其他元素存在相同的值),该函数返回一个迭代器对新插入的元素,值为true。

异常 (Exceptions)

如果任何元素比较对象抛出异常,则抛出异常。

请注意,无效参数会导致未定义的行为。

时间复杂

恒定时间。

例子 (Example)

以下示例显示了std :: unordered_set :: emplace的用法。

#include <iostream>
#include <string>
#include <unordered_set>
int main () {
   std::unordered_set<std::string> myset;
   myset.emplace ("kittu");
   myset.emplace ("prasad");
   myset.emplace ("sairamkrishna");
   std::cout << "myset containing:";
   for (const std::string& x: myset) std::cout << " " << x;
   std::cout << std::endl;
   return 0;
}

让我们编译并运行上面的程序,这将产生以下结果 -

myset containing: sairamkrishna prasad kittu
↑回到顶部↑
WIKI教程 @2018