set::emplace
描述 (Description)
它在集合中插入一个新元素。
声明 (Declaration)
以下是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。
异常 (Exceptions)
如果抛出异常,则容器中没有更改。
时间复杂
取决于容器的大小。
例子 (Example)
以下示例显示了std :: set ::\templace的用法。
#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