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