C++ Set 库 - 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 值。
异常
如果抛出异常,则容器中没有任何变化。
时间复杂度
Depends on container size.
示例
以下示例显示了 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

