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